Safeguard transport DSN

Created on 29 March 2023, about 2 years ago
Updated 6 May 2023, almost 2 years 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.71.5 2024