What’s Vulnerable › Vulnerabilities
CVE-2026-15747: Mojolicious versions from 4.59 before 9.48 for Perl expose a stable representation of the session CSRF token to a BREACH compression oracle
- Severity: critical (CVSS 9.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-14 · updated 2026-10-24
- Weakness: CWE-204
Description
Mojolicious versions from 4.59 before 9.48 for Perl expose a stable representation of the session CSRF token to a BREACH compression oracle. _csrf_token generates and caches one token per session and returns the same value on every call, and _csrf_field places that value in a hidden `csrf_token` input. When a response carrying the token also echoes attacker-controlled input and is gzip-compressed, the chosen values and the resulting compressed lengths form a BREACH oracle. An attacker able to query it can recover the token and pass csrf_protect validation.
Affected products
- SRI Mojolicious: from 4.59 before 9.48 — fixed in 9.48
How to fix
Upgrade to a fixed version: SRI Mojolicious 9.48. Check the vendor advisory for mitigations.
References
- https://github.com/mojolicious/mojo/commit/01921fbbbbeca2d1397e082d4a647f9b84c24e27.patch
- https://metacpan.org/release/SRI/Mojolicious-9.48/changes
- http://www.openwall.com/lists/oss-security/2026/07/14/16
Get alerted when CVE-2026-15747 or the next vulnerability affects your stack