CPANSA-Mojolicious-2026-15747: Mojolicious vulnerability

Publisher giterlizzi Document category csaf_security_advisory
Initial release date 2026-07-14T00:00:00 Engine CSAF Perl Toolkit 0.26
Current release date 2026-07-14T00:00:00 Build Date
Current version 1 Status final
CVSS v3.1 Base Score 9.1 Severity
Original language Language en
Also referred to

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.

Vulnerabilities

CVE-2026-15747

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.

Weakness CWE-204 : Observable Response Discrepancy

Product status

Known affected
Product Score
Mojolicious greater than 4.59 and less than 9.48
CVSS Version CVSS Vector CVSS Base Score CVSS Base Severity
3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 9.1 Critical
Fixed

giterlizzi

Namespace: https://github.com/giterlizzi/

gdt@cpan.org

References

Revision history

Version Date of the revision Summary of the revision
1 Tue Jul 14 00:00:00 2026 First release

Sharing rules

TLP:WHITE
For the TLP version see: https://www.first.org/tlp/