# CVE-2026-15747

## Summary

- **CVE ID:** CVE-2026-15747
- **Severity:** CRITICAL
- **CVSS Score:** 9.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N)
- **CWE:** CWE-204, CWE-352
- **Published:** Jul 14, 2026
- **Last Modified:** Jul 15, 2026

## 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 (4.59)

## References

- [CNA](https://github.com/mojolicious/mojo/commit/01921fbbbbeca2d1397e082d4a647f9b84c24e27.patch)
- [CNA](https://metacpan.org/release/SRI/Mojolicious-9.48/changes)
- [CVE](http://www.openwall.com/lists/oss-security/2026/07/14/16)

## Exploitation Prediction (EPSS)

- **EPSS Score:** 0.26%
- **EPSS Percentile:** 17.1

---
_Exported from OnDuty AI Vulnerability Intelligence on 2026-09-10._