GIVE YOUR AGENT THE EVIDENCE

Set up in your agent.

One prompt to get started. Paste it into your coding agent to connect cve.new through MCP and bring vulnerability context into your workflow.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

GIVE YOUR AGENT THE EVIDENCE

Investigate in your agent.

Turn this advisory into a focused investigation. Ask your agent to check your project’s versions, explain the evidence, and suggest a compatible fix.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

Check your stack
GHSA-9frc-8383-795mlow2.7

Symfony's YAML Parser has a ReDoS via Catastrophic Backtracking in Parser::cleanup() Regex

Impact

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.]+.\nu', 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.

Source excerpt · OSV

Affected packages

Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.

symfony/yaml Packagist
Affected rangeRecorded fix
Earlier releases before 5.4.52Ecosystem versions5.4.52
From 6.0.0 before 6.4.40Ecosystem versions6.4.40
From 7.0.0 before 7.4.12Ecosystem versions7.4.12
From 8.0.0 before 8.0.12Ecosystem versions8.0.12

Version evidence: OSV · GHSA-9frc-8383-795m

View original version evidence (649 explicit versions)
Affected rangeRecorded fix
Earlier releases before 5.4.52Ecosystem versions5.4.52
From 6.0.0 before 6.4.40Ecosystem versions6.4.40
From 7.0.0 before 7.4.12Ecosystem versions7.4.12
From 8.0.0 before 8.0.12Ecosystem versions8.0.12

Version evidence: OSV · GHSA-9frc-8383-795m

View original version evidence (833 explicit versions)

Original source 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.

References