GitHub Advisoryadvisory · Packagist

GHSA-9frc-8383-795m Symfony's YAML Parser has a ReDoS via Catastrophic Backtracking in Parser::cleanup() Regex

LOW Published 2026-05-27 Modified 2026-05-27 Official page ↗
Aliases
CVE-2026-45305
Ecosystem
Packagist
Packages
symfony/yaml, symfony/symfony
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U
Weaknesses
CWE-1333
Reviewed
2026-05-27

Affected packages

• Packagist symfony/yaml: < 5.4.52 → fixed in 5.4.52 • Packagist symfony/symfony: < 5.4.52 → fixed in 5.4.52 • Packagist symfony/symfony: >= 6.0.0, < 6.4.40 → fixed in 6.4.40 • Packagist symfony/symfony: >= 7.0.0, < 7.4.12 → fixed in 7.4.12 • Packagist symfony/symfony: >= 8.0.0, < 8.0.12 → fixed in 8.0.12 • Packagist symfony/yaml: >= 6.0.0, < 6.4.40 → fixed in 6.4.40 • Packagist symfony/yaml: >= 7.0.0, < 7.4.12 → fixed in 7.4.12 • Packagist symfony/yaml: >= 8.0.0, < 8.0.12 → fixed in 8.0.12

Description

Description `Symfony\Component\Yaml\Parser::cleanup()` strips the optional `%YAML` directive header, leading comments, and document start/end markers before parsing. The original regexes contained overlapping quantifiers, most notably `'#^%YAML[: ][\d.]+.*\n#u'`, whose `[\d.]+` and `.*` overlap on the dot, that exhibit catastrophic backtracking on crafted input. A single oversized `%YAML` directive header (or comment / document-marker line) makes the parser hang for an arbitrarily long time, denying service. Resolution The four regexes in `Parser::cleanup()` (YAML directive header, leading comments, document-start marker, document-end marker) have been rewritten with possessive quantifiers and unambiguous character classes so backtracking cannot occur. The patch for this issue is available here for branch 5.4. Credits Symfony would like to thank Pietro Tirenna (Shielder) for reporting the issue and Nicolas Grekas for fixing it.

Related

Alias · CVE (1)

  • CVE-2026-45305 Symfony is a PHP framework for web and console applications and a set of reusable PHP components. vulnerability

Weakness · CWE (1)

  • CWE-1333 Inefficient Regular Expression Complexity weakness

References