# CVE-2026-121623: Symfony Serializer DataUriNormalizer path traversal

Source: https://junglewise.ai/threats/cve-2026-121623-the-symfony-serializer-component-dataurinormalizer-denormalize  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-06. Updated: 2026-11-06  
License: CC BY 4.0 with a link back

CVE-2026-121623 · Severity: info · Published 2026-11-06

Symfony's Serializer component deserializes data URIs to file objects, but accepts the data: scheme in any case (DATA:, Data:, etc.). An attacker can bypass validation by using an uppercase scheme, causing the application to open local file paths instead of treating the input as inline data. This allows reading arbitrary files on the server without authentication.

Vendors: [Symfony](https://junglewise.ai/threats/vendors/symfony).

## Quick answers

**Is CVE-2026-121623 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-121623 being exploited in the wild.

**How severe is CVE-2026-121623?** Informational severity, published 6 November 2026.

**Which products and versions are affected?** Symfony Serializer 5.x prior to 5.4.56, 6.x prior to 6.4.50, 7.x prior to 7.4.23, 8.x prior to 8.1.11.

**Is there a fix for CVE-2026-121623?** Yes: fixed in Serializer 5.4.56, 6.4.50, 7.4.23, 8.1.11. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-121623 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-121623?** Check whether you run Symfony Serializer at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in Serializer 5.4.56, 6.4.50, 7.4.23, 8.1.11

## Technical details

The DataUriNormalizer::denormalize() method uses a case-sensitive regex to match the data: scheme, but PHP's data:// wrapper only recognizes lowercase schemes; uppercase variants are treated as local file paths. An unauthenticated attacker can craft a request like "DATA:,/../../../etc/passwd" to any public endpoint that deserializes untrusted input into File, SplFileInfo, or SplFileObject, resulting in arbitrary local file read via path traversal. The fix normalizes the scheme to lowercase before processing.

## Affected products

- Symfony Serializer 5.x prior to 5.4.56, 6.x prior to 6.4.50, 7.x prior to 7.4.23, 8.x prior to 8.1.11

## Timeline

- 2026-11-06: disclosed

## References

- [https://packagist.org/packages/symfony/serializer](https://packagist.org/packages/symfony/serializer)
- [https://github.com/symfony/symfony/commit/a0c551861ac23f888dfe6d1157ca78f4e220f3b7](https://github.com/symfony/symfony/commit/a0c551861ac23f888dfe6d1157ca78f4e220f3b7)
