Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[Mailer][Notifier] Harden Mailchimp signature comparison and Smsbox IP allowlist#64344

Merged
nicolas-grekas merged 1 commit into
symfony:7.4symfony/symfony:7.4from
nicolas-grekas:harden-mailchimp-smsbox-webhook-7.4nicolas-grekas/symfony:harden-mailchimp-smsbox-webhook-7.4Copy head branch name to clipboard
May 23, 2026
Merged

[Mailer][Notifier] Harden Mailchimp signature comparison and Smsbox IP allowlist#64344
nicolas-grekas merged 1 commit into
symfony:7.4symfony/symfony:7.4from
nicolas-grekas:harden-mailchimp-smsbox-webhook-7.4nicolas-grekas/symfony:harden-mailchimp-smsbox-webhook-7.4Copy head branch name to clipboard

Conversation

@nicolas-grekas
Copy link
Copy Markdown
Member

Q A
Branch? 7.4
Bug fix? yes
New feature? no
Deprecations? no
Issues -
License MIT

Two small hardenings spotted while reviewing the webhook parsers.

MailchimpRequestParser::validateSignature() compared the HMAC with !==, the only parser in the cluster doing the comparison non-constant-time. Swapped for hash_equals() to remove the timing side-channel. Both branches reject the same inputs, so no functional change.

SmsboxRequestParser::getRequestMatcher() hardcoded the six provider IPs inside the method body with no override path. Added a PROVIDER_IPS public const and an $allowedIPs constructor argument so operators can extend or replace the list without subclassing, mirroring the shape already used for Postmark. The default behavior is unchanged.

…P allowlist

 * Mailchimp: use `hash_equals` instead of `!==` for the HMAC-SHA1 signature comparison (timing-safe)
 * Smsbox: expose `PROVIDER_IPS` as a public const and add an `$allowedIPs` constructor argument so the hardcoded SMSBox IP list can be overridden without subclassing
@carsonbot carsonbot added this to the 7.4 milestone May 23, 2026
@nicolas-grekas nicolas-grekas merged commit 3cd5e67 into symfony:7.4 May 23, 2026
4 of 14 checks passed
@nicolas-grekas nicolas-grekas deleted the harden-mailchimp-smsbox-webhook-7.4 branch May 23, 2026 15:22
This was referenced May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.