[codex] Replace PHPMailer with Symfony Mailer#7190
Draft
somethingwithproof wants to merge 1 commit into
Draft
Conversation
This was referenced May 31, 2026
Member
|
What's the business case? It's not broken. Same really applies to the process module codex as well. |
Contributor
Author
|
Both subsystems leak the same vulnerability class, application-controlled strings reaching a shell or sendmail with hand-rolled escaping (CWE-78 / CWE-88 command and argument injection), plus PHP object-injection sinks (CWE-502). Cacti has independently fought instances of both classes for years. The Symfony components remove the mechanism, the shell and the mail()/sendmail argv handoff, rather than patching the latest instance of it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Emailmessages.Architecture Direction
This PR is intentionally separate from #7189 so mail transport behavior can be reviewed and smoke-tested independently. It follows the same component direction: use Symfony components behind Cacti-owned integration code, without introducing the full Symfony container yet.
Validation
php -l lib/functions.php tests/Unit/SymfonyMailerMigrationTest.phpcomposer validate --no-check-lockgit diff --checkReview Focus
Live SMTP, sendmail, native mail, and OAuth2 SMTP smoke testing should be done before merge because those behaviors depend on deployment-specific mail infrastructure.