Safeguard transport DSN

Created on 29 March 2023, over 1 year ago
Updated 6 May 2023, about 1 year ago

Problem/Motivation

The transport DSN can be used to execute arbitrary system/shell code by means of the sendmail transport with a custom command. DsnTransport guards against this, however there is a risk that some other code accepts a string from an untrusted source. Even a full admin GUI user should not be allowed to run arbitrary system code.

Proposed resolution

This module should check the DSN string in Mailer::doSend(), just before calling Dsn::fromString. If the protocol is sendmail and the command parameter is set, then it must be one of Settings::get('mailer_sendmail_commands').

Remaining tasks

User interface changes

API changes

Data model changes

πŸ“Œ Task
Status

Fixed

Version

1.0

Component

Code

Created by

πŸ‡¬πŸ‡§United Kingdom AdamPS

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.69.0 2024