CVE-2026-109413: Symfony · Unbounded Recursion in the YAML Inline Lexer Lets a Single Document Crash the Process
Affects symfony/symfonySource GCVE Database
Not known to be exploited · CVSS 8.7 High : upgrade to 5.4.54 soon.
Data as of 27 Oct 2026, 20:29 UTC
- Patch
- Available – fixed in 5.4.54, 6.4.45, 7.4.18 +1
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 15 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Packagistsymfony/symfony | Affected
| Fixed in
|
| Packagistsymfony/symfony | Affected
| Fixed in
|
| Packagistsymfony/symfony | Affected
| Fixed in
|
| Packagistsymfony/symfony | Affected
| Fixed in
|
| Packagistsymfony/yaml | Affected
| Fixed in
|
| Packagistsymfony/yaml | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Apply the official patches available in Symfony versions 5.4.54, 6.4.45, 7.4.18, and 8.1.6 or later. These patches enforce the maxNestingLevel limit in the inline lexer and prevent unbounded recursion. Until patched, restrict YAML content acceptance on endpoints using #[MapRequestPayload] or avoid parsing untrusted YAML inputs.
Description
Symfony's YAML parser had an unbounded recursion vulnerability in its inline lexer, allowing deeply nested inline collections in YAML documents to cause stack exhaustion and crash the process. This affects any code parsing untrusted YAML, including endpoints using #[MapRequestPayload] without restricting acceptFormat. The issue is fixed by bounding the nesting level and raising a ParseException when exceeded.
References
- github.com/symfony/symfony/security/advisories/GHSA-2v3c-qxhr-7vpv (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-109413 (opens in a new tab)
- github.com/symfony/symfony/pull/65688 (opens in a new tab)
- github.com/symfony/symfony/commit/116287c3b5bc057e7a0420d2e52d384e14ea9417 (opens in a new tab)
- github.com/symfony/symfony/commit/2a8bf9c58d862b0c76a35ce288d1ba6a27223aad (opens in a new tab)
- github.com/symfony/symfony/commit/8fb436fed9658a79d220e9f2b1ba8a2095559018 (opens in a new tab)
- github.com/symfony/symfony/commit/ab61e6cfd35042f16840a00f485eab2481dd4c2a (opens in a new tab)
- github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2026-109413.yaml (opens in a new tab)
- github.com/FriendsOfPHP/security-advisories/blob/master/symfony/yaml/CVE-2026-109413.yaml (opens in a new tab)
- github.com/symfony/symfony (opens in a new tab)
- github.com/symfony/symfony/releases/tag/v5.4.54 (opens in a new tab)
- github.com/symfony/symfony/releases/tag/v6.4.45 (opens in a new tab)
- github.com/symfony/symfony/releases/tag/v7.4.18 (opens in a new tab)
- github.com/symfony/symfony/releases/tag/v8.1.6 (opens in a new tab)
- symfony.com/blog/cve-2026-109413-unbounded-recursion-in-the-yaml-inline-lexer-lets-a-single-document-crash-the-process (opens in a new tab)
- symfony.com/cve-2026-109413 (opens in a new tab)