CRITICAL✓ PATCH🇬🇧 English

CVE-2026-15747

Mojolicious: CSRF token podatny na atak BREACH compression oracle

CVSS 9.1v3.1pub. 2026-07-14upd. 2026-07-15

Biblioteka Mojolicious dla języka Perl w wersjach od 4.59 do 9.48 eksponuje token CSRF sesji na atak typu BREACH compression oracle. Atakujący może odzyskać token CSRF i ominąć zabezpieczenia walidacji CSRF.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Funkcja _csrf_token generuje jeden token na sesję i zwraca tę samą wartość przy każdym wywołaniu, a funkcja _csrf_field osadza ją w ukrytym polu formularza. Gdy odpowiedź HTTP zawierająca token jednocześnie odzwierciedla dane kontrolowane przez atakującego i jest kompresowana algorytmem gzip, różnice w długości skompresowanej odpowiedzi tworzą oracle umożliwiający wnioskowanie o zawartości tokenu. Atakujący wysyłając odpowiednio spreparowane zapytania i obserwując rozmiar skompresowanych odpowiedzi może metodycznie odtworzyć pełną wartość tokenu CSRF (atak BREACH). Odzyskany token pozwala następnie przejść weryfikację csrf_protect i sfałszować żądania w imieniu ofiary.

Skutki

Atakujący zdalnie, bez uwierzytelnienia, może odzyskać token CSRF ofiary i przeprowadzić skuteczny atak Cross-Site Request Forgery (CSRF), wykonując nieautoryzowane działania w kontekście sesji zalogowanego użytkownika.

Mitygacja

Należy zaktualizować Mojolicious do wersji 9.48 lub nowszej. Patch dostępny jest w repozytorium projektu (commit 01921fbbbbeca2d1397e082d4a647f9b84c24e27) oraz poprzez CPAN (wydanie Mojolicious-9.48).

Kogo dotyczy

Mojolicious dla Perl w wersjach od 4.59 (włącznie) do 9.48 (wyłącznie).

Uwagi

Podatność zgłoszona na liście oss-security w dniu 14 lipca 2026 r. Wektor CVSS (AV:N/AC:L/PR:N/UI:N) wskazuje brak wymogu interakcji użytkownika, jednak skuteczność ataku BREACH w praktyce zależy od spełnienia warunków środowiskowych: kompresja gzip musi być włączona na serwerze, a atakujący musi mieć możliwość wielokrotnego wymuszenia zapytań zawierających kontrolowane przez siebie dane w tej samej sesji co token.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje