GitHub Advisoryadvisory · Packagist
GHSA-hmr5-2xcr-v8pp Symfony Vulnerable to stored XSS in WebProfiler CodeExtension::fileExcerpt() — Unescaped Non-PHP File Rendering
LOW
Official page ↗
- Aliases
- CVE-2026-45072
- Ecosystem
- Packagist
- Packages
- symfony/symfony, symfony/twig-bridge, symfony/web-profiler-bundle
- Severity
- Low
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:U
- Weaknesses
- CWE-79
- Reviewed
- 2026-05-27
Affected packages
• Packagist symfony/symfony: >= 6.4.24, < 6.4.40 → fixed in 6.4.40
• Packagist symfony/symfony: >= 7.2.9, < 7.4.12 → fixed in 7.4.12
• Packagist symfony/symfony: >= 8.0.0, < 8.0.12 → fixed in 8.0.12
• Packagist symfony/twig-bridge: >= 6.4.24, < 6.4.40 → fixed in 6.4.40
• Packagist symfony/web-profiler-bundle: >= 7.2.9, < 7.4.12 → fixed in 7.4.12
• Packagist symfony/web-profiler-bundle: >= 8.0.0, < 8.0.12 → fixed in 8.0.12
Description
Description
Symfony's profiler, a development only debug UI, renders source-code excerpts on several pages using Twig's custom `file_excerpt` filter. This filter renders PHP files via `highlight_string()` (which escapes HTML), but renders non-PHP files by splitting on `\n` and interpolating each line directly into `{$line}` with no escaping.
An attacker who can write arbitrary bytes into any file under the project root (including e.g. `var/log/dev.log`), achieves stored XSS against any developer who later opens that file in the profiler.
Resolution
The `file_excerpt` filter now properly escapes each line of non-PHP files using `htmlspecialchars()` before concatenating them.
The patch for this issue is available here for branch 6.4.
Credits
Symfony would like to thank Claude Mythos Preview (via Project Glasswing) for reporting the issue and providing the fix.
Related
Alias · CVE (1)
- CVE-2026-45072 Symfony is a PHP framework for web and console applications and a set of reusable PHP components. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/symfony/symfony/security/advisories/GHSA-hmr5-2xcr-v8pp web
- https://github.com/symfony/symfony/commit/863aa81c61166f1aa74b7732df316f76113acbdb web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2026-45072.yaml web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/twig-bridge/CVE-2026-45072.yaml web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/web-profiler-bundle/CVE-2026-45072.yaml web
- https://github.com/symfony/symfony package
- https://symfony.com/cve-2026-45072 web