Fixed
Project:
Drupal core
Version:
main
Component:
other
Priority:
Critical
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
28 Sep 2026 at 12:20 UTC
Updated:
3 Oct 2026 at 00:07 UTC
Jump to comment: Most recent
Review Drupal 12 and 11.x composer dependencies for allowed versions with CVEs, so we don't release these with constraints that technically allow insecure dependencies to be installed.
Raise composer requirements to versions that are not affected by CVEs with the least disruption possible.
LLM was used to define the audit commands to run, commands were run manually :)
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:
Comments
Comment #2
gábor hojtsyI used LLM help to figure out the exact commands to run, then ran them manually.
For 11.x, existing lock file based CVEs:
Then ran this to move all dependencies to lowest and ignore the implications for security, so it actually happens :D
COMPOSER_NO_SECURITY_BLOCKING=1 composer update --prefer-lowest --no-install --no-plugins --no-scripts --no-auditThen ran this again, so we get all CVEs affecting the lowest versions.
Comment #3
gábor hojtsySame commands for Drupal 12 do not show current locked versions with CVEs but when running with lowest:
> Found 14 security vulnerability advisories affecting composer/composer, google/protobuf, guzzlehttp/guzzle, squizlabs/php_codesniffer, symfony/polyfill-intl-idnComment #4
gábor hojtsyComment #7
gábor hojtsyNow have two branches with proposed minimal needed updates :)
Comment #8
xjmThese changes make sense to me. Increasing our minor version requirements for both Composer and Guzzle with the minor/major release ensures we're less likely to run into regressions from security updates with those, and increasing miscellaneous patch minima is also sensible.
One small suggestion on both MRs; while we want to increase minimum constraints as allowed by release policies, we probably shouldn't actually declare a conflict with that SF polyfill library unless Drupal really doesn't work with it on those versions. Changing that of course also requires regenerating the lockfile. 🙂
Comment #9
xjmComment #10
gábor hojtsyHad this Slack discussion with @xjm:
@gábor: Its a transitive dependency. We could also explicitly require
"symfony/polyfill-intl-idn": "^1.38.1"or say we don't care of this transitive dependency having the low severityCVE-2026-46644. Both 11.x and main lock above the version with the CVE so its more about there not being a constraint if the core lock is not used. I think this is mostly theoretics, so it can be left out, but if we want to pass CVE checks with lowest versions, then something would need to be done :smile: Drupal works either way I think this is just to satisfy the "no dependency has CVE in lowest allowed versions" task.@xjm: In the case of that polyfill I would not do either an explicit constraint nor a conflict; that CVE IIRC was really more of a hardening, so if they need 1.37 for some reason let 'em.
Comment #11
gábor hojtsyComment #12
gábor hojtsyFYI I talked to @catch in person about this todayand he said this would be nice for beta1 but is not a requirement :)
Comment #13
longwaveI tested this by applying the patch and running the following steps:
On main this reports four problems in three dependencies, but these are all transient dependencies so nothing we can solve directly (unless we explicity turn them into actual dependencies):
On 11.x I get a similar result without
symfony/polyfill-intl-idn.Therefore I think this is the correct thing to do and marking RTBC.
Comment #16
xjmCommitted to main. I ran
composer update --lockto verify that the lockfile was correct. I then cherry-picked it to 12.0.x and did acomposer update drupal/coreto also verify that that the same hash applied to 12.0.x.Repeated the same for 11.x.
Thanks everyone!
Comment #19
xjmI meant to set this PTBP for lockfile updates on earlier branches, but forgot. (No constraint increases on the stable branches.)
Comment #20
longwave@xjm if we are only doing lockfile updates on 11.5.x then that usually happens in a specific issue where we update all dependencies for each minor? I opened #3627487: Update PHP dependencies for 11.5.0 to track this as we haven't done it yet.
Comment #22
xjmI'm fine with a separate issue, and that makes sense for 11.5 if we didn't do it yet. But it's the specific CVE above that we wanted to fix in the stable branches' lockfiles.