Problem/Motivation
A security vulnerability was disclosed for the symfony/polyfill-intl-idn package.
The currently pinned version is vulnerable and cannot be updated because it is pinned by
drupal/core-recommended.
Steps to reproduce
- Install Drupal core using
drupal/core-recommended10.6.9. - Run:
composer audit - Observe the vulnerability reported for
symfony/polyfill-intl-idn. - Run:
composer update symfony/polyfill-intl-idn -W - Observe that Composer cannot resolve dependencies because the vulnerable version is pinned by
drupal/core-recommended.
Proposed resolution
Update the pinned symfony/polyfill-intl-idn version in
drupal/core-recommended to a non-vulnerable release:
"symfony/polyfill-intl-idn": "~v1.38.1"Workarounds
-
You can temporarily do:
composer require "symfony/polyfill-intl-idn:1.38.1 as 1.37.0"...and then revert once a new core release is available.
-
You can switch away from
core-recommended:composer require drupal/core:^[YOUR_VERSION_HERE] --no-update composer remove drupal/core-recommended --no-update composer update drupal/core* -W -
If your workflow is not hard-blocked, you can evaluate the polyfill CVE to determine whether your site is even affected (many Drupal sites probably are not), and then wait for the next core patch release if you are not affected.
Remaining tasks
- Update the pinned dependency version.
- Verify Composer dependency resolution succeeds.
- Verify
composer auditno longer reports the vulnerability. - Run the full Drupal core test suite.
- Backport to supported branches if applicable.
User interface changes
None.
Introduced terminology
None.
API changes
None.
Data model changes
None.
Release notes snippet
Updated the pinned symfony/polyfill-intl-idn dependency to address
CVE-2026-46644, affecting vulnerable versions prior to 1.38.1.
Issue fork drupal-3592065
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3592065-main
changes, plain diff MR !15879
- 3592065-drupal-core-recommended-pins
changes, plain diff MR !15877
Comments
Comment #2
ahmetburkanIt looks like all versions are affected.
Comment #4
jan kellermann commentedAffects 11.x and main also - no composer update possible without changing the composer.json
Comment #5
julien tekrane commentedConfirming this also affects 11.3.10 (latest stable). Any attempt to require
symfony/polyfill-intl-idn:^1.38.1is rejected becausedrupal/core-recommended 11.3.10pins~v1.37.0. For anyone needing an immediate workaround while waiting for the next core release, this works:1. In composer.json, replace
"drupal/core-recommended": "~11.3.1"by"drupal/core": "~11.3.1"(11.3 is my need, adapt it)2. Add
"symfony/polyfill-intl-idn": "^1.38.1"to the root requires.3. Run
composer update drupal/core symfony/polyfill-intl-idn -WComment #6
catchMoving this to main for now.
Comment #7
dave reidBecause Symfony doesn't release all components (no release if no code changed), this can result in some components that haven't been updated in a while, suddenly getting a security release with a minor bump. It feels like this could potentially happen more and more.
I ran
composer require "symfony/polyfill-intl-idn:1.38.1 as 1.37.0"for the workaround, which I'll have to remove manually again when Drupal core has a new release, I'm just wondering if this does happen more and more. Hopefully not, but I worry about it with more AI-found security releases in older dependencies or things that haven't been updated in a while and those maintainers not being able to release patch versions.Comment #10
godotislateMR against main https://git.drupalcode.org/project/drupal/-/merge_requests/15879 is passing.
I also tested cherry-picking to 11.x, 11.4.x, 11.3.x, and 10.6.x, and it seemed to work fine.
Comment #11
f0ns commentedI wanted to spin up a new Drupal install and got the same issue
PKSA-dwsq-ppd2-mb1xis blocking it. https://symfony.com/blog/cve-2026-46644-insecure-equivalence-in-symfony-...Comment #12
mwebaze commentedEnabling the native `intl` extension on your infrastructure will successfully bypass the vulnerable polyfill code at runtime as polyfill checks for it first.
Comment #13
jcandan commentedPlacing the following as a temporary work around worked for me, including within a DDEV project using the
ddev-drupal-contribadd-on:Comment #14
ulethjay commentedDoes this mean that anyone hoping to update for SA-CORE-2026-004 is going run into a hurdle for the time being?
Comment #15
godotislateYou can disable composer security block temporarily using either an ENV or command line option: https://getcomposer.org/doc/03-cli.md#composer-no-blocking
Alternatively, you can add entries to config.policy.advisories in composer.json: https://getcomposer.org/doc/06-config.md#block
Comment #17
godotislateHid https://git.drupalcode.org/project/drupal/-/merge_requests/15877 because the tests weren't passing and it was targeted against 10.6.x.
Comment #18
seworthi commentedYou can also add this to config section of composer.json
Comment #20
znerol commentedTested the MR plus cherry-picks to all the branches mentioned in #10.
composer installandcomposer auditlead to the desired result.Comment #21
maxdmayhew commented#7 worked for me. Thank you!
Comment #22
mark_fullmerGiven the timing of this with the recent Drupal core security release, should the community expect an immediate follow-up release, or will that arrive during the next scheduled security window?
Comment #23
prudloff commentedRelated Symfony issue: https://github.com/symfony/polyfill/issues/621
Comment #31
catchOpened https://github.com/symfony/polyfill/issues/621 upstream. Even if it's only us that ran into this problem, still feels unnecessary.
Committed/pushed to main, 11.x, 11.4.x, 11.3.x, 11.2.x, 10.6.x and 10.5.x, thanks!
Comment #34
xmacinfoPlease issue a new release as many will not know exactly what is happening and may end up being confused about what is the best approach to use.
Comment #35
xjmGoing to add the two workarounds to the summary. Basically, if your workflow is hard-blocked on this issue (which is likely not exploitable in core), best to use one of the workarounds until a new core release is tagged. However. if you're not hard-blocked in your workflow, you can evaluate the CVE itself, potentially ignore your security scanner output, and choose to just wait for the next core patch release.
Comment #36
xjmBumping to critical retroactively on account of the fact that this is interfering with the Drupal CMS installer.
Comment #37
ressaAdding missing quote at the end of
composer require "symfony/polyfill-intl-idn:1.38.1 as 1.37.0"workaround in Issue Summary.Will deleting the line and updating to Drupal core (10.6.10?) take care of reverting it, when the time comes? I tried deleting the line in composer.json, and running
composer update --lockbut it did nothing.Comment #38
jan kellermann commentedThere are also security updates for symfony/routing and symfony/http-foundation.
When do you plan the release of the fixed Drupal version? We would like to update Drupal and symfony at once...
Comment #39
thatipudir commentedtwig need update too ..
| Package | twig/twig |
| Severity | |
| Advisory ID | PKSA-fbvq-z33h-r2np |
| CVE | CVE-2026-48808 |
| Title | Sandbox property allowlist bypass via the `column` filter under |
| | `SourcePolicyInterface` |
| URL | https://symfony.com/blog/cve-2026-48808-sandbox-property-allowlist-bypas... |
| | e-column-filter-under-sourcepolicyinterface |
| Affected versions | >=1.0.0,<2.0.0|>=2.0.0,<3.0.0|>=3.0.0,<3.27.0 |
| Reported at | 2026-05-27T15:00:00+00:00
Comment #40
solideogloria commentedIt's already fixed in dev.
Comment #41
solideogloria commentedComment #42
uccio commentedThe problem is also on the Drupal 11.3.x branch and by launching
composer require drupal/core-recommended:11.3.10 drupal/core-composer-scaffold:11.3.10 drupal/core-project-message:11.3.10 --update-with-all-dependenciesthe result is this:
Comment #43
solideogloria commentedI reiterate: it's fixed in dev.