CVE-2026-45304
highpriority · track · 30EPSS 0.007 · 52 %ileDEEUUSEPSS · scored 2026-10-27
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to 5.4.52, 6.4.40, 7.4.12, and 8.0.12, Symfony\Component\Yaml\Parser resolved YAML collection aliases recursively, allowing a small untrusted YAML input to expand into a multi-gigabyte structure and exhaust memory. This issue is fixed in versions 5.4.52, 6.4.40, 7.4.12, and 8.0.12.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · medium–high · 6.6–8.7
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (22)
Products and version ranges known to be affected.
advisories (2)
Vendor and ecosystem advisories describing this.
- WID-SEC-W-2026-1805Zabbix: Mehrere SchwachstellenDeutsch2026-06-04csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Zabbix ausnutzen, um einen Denial of Service Angriff durchzuführen, und um Sicherheitsvorkehrungen zu umgehen.
- GHSA-4qpc-3hr4-r2p4Symfony's YAML Parser Vulnerable to Exponential Memory Allocation via Recursive Collection-Alias Expansion ("Billion Laughs")2026-05-27ghsa · osvUS
### Description `Symfony\Component\Yaml\Parser` resolves YAML aliases (`*anchor`) during parsing. Aliases that reference *collections* (arrays, `stdClass`, `TaggedValue`-wrapped collections) can themselves point to other collections containing aliases, creating exponential expansion at resolution time. A small input can blow up into a multi-gigabyte structure and exhaust memory: the classic "Billion Laughs" denial-of-service against any parser exposed to untrusted YAML. ### Resolution The `Parser` now counts collection alias resolutions in a shared `ParserState` object, with a default limit of **128**, following the [SnakeYAML model](https://github.com/snakeyaml/snakeyaml/blob/master/src/main/java/org/yaml/snakeyaml/LoaderOptions.java). Scalar aliases remain unrestricted since they cannot drive exponential growth. The limit is configurable via a new `$maxAliasesForCollections` argument on `Parser::__construct()`, `Yaml::parse()` and `Yaml::parseFile()`. A new `Yaml::PARSE_EXCEPTION_ON_ALIAS` flag also rejects all aliases outright when parsing fully untrusted input. The patch for this issue is available [here](https://github.com/symfony/symfony/commit/e77391b2e4f18821198f010d573674c8ed4a970a) for branch 5.4. ### Credits Symfony would like to thank Pietro Tirenna (Shielder) for reporting the issue and Nicolas Grekas for fixing it.
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (19)
External citations — patches, advisories, analysis.
- https://github.com/symfony/symfony/commit/e77391b2e4f18821198f010d573674c8ed4a970acnnvd
- https://github.com/symfony/symfony/commit/e77391b2e4f18821198f010d573674c8ed4a970a,https://github.com/symfony/symfony/security/advisories/GHSA-4qpc-3hr4-r2p4Patchcnnvd
- https://github.com/symfony/symfony/releases/tag/v5.4.52cnnvd
- https://github.com/symfony/symfony/releases/tag/v6.4.40cnnvd
- https://github.com/symfony/symfony/releases/tag/v7.4.12cnnvd
- https://github.com/symfony/symfony/releases/tag/v8.0.12cnnvd
- https://github.com/symfony/symfony/security/advisories/GHSA-4qpc-3hr4-r2p4cnnvd
- https://github.com/symfony/symfony/commit/e77391b2e4f18821198f010d573674c8ed4a970aenisa_euvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan