Skip to content

Dev-dep bump: phplint ^3.0 + symfony/yaml ^5.4 floor to clear CVE-2026-109413 - #410

Open
notomer wants to merge 1 commit into
pusher:masterfrom
notomer:security/bump-symfony-yaml-phplint
Open

notomer wants to merge 1 commit into
pusher:masterfrom
notomer:security/bump-symfony-yaml-phplint

Conversation

@notomer

@notomer notomer commented Oct 23, 2026

Copy link
Copy Markdown

Summary

A fresh composer resolve of this repo's dev dependencies picks symfony/yaml 5.0.x-dev (through overtrue/phplint 2.4.1), which still carries 4 known advisories, notably:

These are dev-tooling-only (phplint transitively pulls yaml; runtime deps are unaffected), but the dev tree runs symfony/yaml on untrusted YAML on contributor machines, so the audit should be clean there too.

Root cause of the old pin

overtrue/phplint 2.4.1 requires symfony/console ^3.2|^4.0|^5.0, but:

  • symfony/yaml >=5.4 conflicts with symfony/console <5.3
  • symfony/console >=5.4 conflicts with psr/log >=3

…which wedges the resolver on console v5.2 + yaml 5.0.x-dev. phplint 3.x requires only php >=5.5.9, so the repo's php: ^7.3|^8.0 constraint is unchanged.

Changes

  • overtrue/phplint: ^2.3 → ^3.0
  • symfony/yaml: explicit ^5.4 floor added to require-dev

Verification (local resolve on this branch)

  • composer why chain unwinds: console v5.3.16 + yaml v5.4.54, composer audit → clean
  • phplint src/ passes (7/7 files)
  • phpunit failures unaffected: 49 errors / 7 failures on both this branch and pristine master (pre-existing PHPUnit 9 on PHP 8.5 issue, not touched by this dev-dep change)

…6-109413

composer audit on a fresh resolve picks symfony/yaml 5.0.x-dev via
overtrue/phplint 2.4.1, which still carries 4 known advisories incl.
CVE-2026-109413 (unbounded recursion in the YAML inline lexer) and
CVE-2026-45304 (exponential memory allocation via recursive aliasing).

Root cause of the old pin: phplint 2.4.1 requires symfony/console
^3.2|^4.0|^5.0 while symfony/console >=5.4 conflicts psr/log >=3 and
symfony/yaml >=5.3 conflicts console <5.3, wedging the resolver.
phplint 3.x requires PHP >=5.5.9 so the php ^7.3|^8.0 constraint is
unchanged. With 'overtrue/phplint: ^3.0' and an explicit
'symfony/yaml: ^5.4' floor in require-dev, a fresh resolve lands
console v5.3.16 and yaml v5.4.54 and 'composer audit' is clean.
phplint src/ passes (7/7 files).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant