Loading...
Skip to main content

CVE-2026-45754 — Vulnerability in symfony/symfony — CVE Details

MEDIUM

Symfony's Mailjet Mailer Webhook Parser Never Verifies the Configured Secret — Unauthenticated Webhook Event Injection

Published May 28, 2026Updated September 10, 2026Source: osv

Summary

### Description The Mailjet mailer bridge and the LOX24 SMS notifier bridge both ship webhook request parsers used to authenticate and decode the event callbacks each provider POSTs to an application's webhook endpoint. Their `doParse(Request $request, #[\SensitiveParameter] string $secret)` methods receive the configured webhook secret but never read it; they convert and return the payload unconditionally. As a result, an application that wires up either webhook endpoint accepts **any** POST to that URL, even when a webhook secret is configured (the recommended setup). An attacker who knows the endpoint exists can submit forged event payloads, fake bounce / blocked / spam / open / click / delivery events, leading to suppression-list corruption, delivery-metrics fraud, etc. ### Resolution `MailjetRequestParser::doParse()` now rejects the request unless it carries the expected HTTP Basic credentials, Mailjet's webhook authentication mechanism, using a constant-time comparison. The configured webhook secret is matched against the credentials embedded in the Mailjet webhook URL as `user:password` (use `:password` when the URL has no username). `Lox24RequestParser::doParse()` now rejects the request unless it carries an `X-LOX24-Token` HTTP header whose value matches the configured secret, using a constant-time comparison. The same token must be configured in the LOX24 dashboard under the callback settings. When no secret is configured the behaviour is unchanged: webhook authentication remains opt-in, but it is now actually enforced once opted in. The Mailjet patch is available [here](https://github.com/symfony/symfony/commit/3e52bf5ab733ee32e35eeeeb2631d859c941838e) for branch 6.4. The LOX24 patch is available [here](https://github.com/symfony/symfony/commit/4aaa45dd054f73445f1ab254968b7e60b546cc77) for branch 7.4 (the LOX24 bridge was introduced in 7.1 and is not present in 6.4). ### Credits Symfony would like to thank Himanshu Anand for reporting the issue, and Alexandre Daubois and Nicolas Grekas for providing the fixes.

Advisory Timeline

  • First published May 28, 2026 (137 days ago).
  • Last revised September 10, 2026 — 104 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Composer
Update symfony/symfony to 7.4.12 or later
composer require "symfony/symfony:^7.4.12"
Composer
Update symfony/lox24-notifier to 7.4.12 or later
composer require "symfony/lox24-notifier:^7.4.12"
Composer
Update symfony/symfony to 8.0.12 or later
composer require "symfony/symfony:^8.0.12"
Composer
Update symfony/lox24-notifier to 8.0.12 or later
composer require "symfony/lox24-notifier:^8.0.12"
Composer
Update symfony/symfony to 6.4.40 or later
composer require "symfony/symfony:^6.4.40"
Composer
Update symfony/mailjet-mailer to 8.0.12 or later
composer require "symfony/mailjet-mailer:^8.0.12"
Composer
Update symfony/mailjet-mailer to 7.4.12 or later
composer require "symfony/mailjet-mailer:^7.4.12"
Composer
Update symfony/mailjet-mailer to 6.4.40 or later
composer require "symfony/mailjet-mailer:^6.4.40"

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (8)

Affects 1 ecosystem: packagist (3).

PackageEcosystemAffectedFixed In
symfony/symfony
packagist
v7.0.0, v7.0.1, v7.0.10, v7.0.2 (+66 more)7.4.12
symfony/lox24-notifier
packagist
v7.1.0, v7.1.1, v7.1.2, v7.1.5 (+15 more)7.4.12
symfony/symfony
packagist
v8.0.0, v8.0.1, v8.0.10, v8.0.11 (+8 more)8.0.12
symfony/lox24-notifier
packagist
v8.0.0, v8.0.48.0.12
symfony/symfony
packagist
v6.4.0, v6.4.1, v6.4.10, v6.4.11 (+36 more)6.4.40
symfony/mailjet-mailer
packagist
v8.0.0, v8.0.6, v8.0.78.0.12
symfony/mailjet-mailer
packagist
v7.0.0, v7.0.2, v7.0.3, v7.0.7 (+18 more)7.4.12
symfony/mailjet-mailer
packagist
v6.4.0, v6.4.13, v6.4.2, v6.4.24 (+6 more)6.4.40

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 7.5 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U

Frequently Asked Questions

What is CVE-2026-45754?
Symfony's Mailjet Mailer Webhook Parser Never Verifies the Configured Secret — Unauthenticated Webhook Event Injection This vulnerability has been assigned a severity rating of MEDIUM (CVSS score: 7.5/10).
How do I check if my project is affected by CVE-2026-45754?
CVE-2026-45754 affects symfony/symfony, symfony/lox24-notifier and symfony/mailjet-mailer. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-45754 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
7.5

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-64hg-93w9-fc35

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies