Vulnerability 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.
CVSS Score
CRITICAL
Related Weaknesses (CWE)
References
- https://github.com/mojolicious/mojo/commit/01921fbbbbeca2d1397e082d4a647f9b84c24
- https://metacpan.org/release/SRI/Mojolicious-9.48/changes
- http://www.openwall.com/lists/oss-security/2026/07/14/16
FAQ
What is CVE-2026-15747?
CVE-2026-15747 is a vulnerability with a CVSS score of 9.1 (CRITICAL). 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...
How severe is CVE-2026-15747?
CVE-2026-15747 has been rated CRITICAL with a CVSS base score of 9.1/10. This is considered a critical vulnerability requiring immediate attention.
Is there a patch for CVE-2026-15747?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.