CRITICAL🇬🇧 English

CVE-2019-0195

Apache Tapestry — RCE przez deserialization po wycieku klucza HMAC

CVSS 9.8v3.1pub. 2019-09-16upd. 2024-11-21

Podatność w Apache Tapestry umożliwia atakującemu zdalne wykonanie kodu Java poprzez atak deserialization na parametr t:formdata. Warunkiem jest wcześniejsze odgadnięcie ścieżki do pliku zawierającego klucz HMAC (tapestry.hmac-passphrase), co możliwe jest dzięki podatności na ujawnienie plików z classpath.

Pokaż oryginał (EN)

Manipulating classpath asset file URLs, an attacker could guess the path to a known file in the classpath and have it downloaded. If the attacker found the file with the value of the tapestry.hmac-passphrase configuration symbol, most probably the webapp's AppModule class, the value of this symbol could be used to craft a Java deserialization attack, thus running malicious injected Java code. The vector would be the t:formdata parameter from the Form component.

🤖 Analiza AI
Jak działa

Atakujący manipuluje URL-ami do zasobów classpath (classpath asset URLs), aby odgadnąć i pobrać dowolny plik dostępny w classpath aplikacji. Jeśli uda mu się uzyskać wartość symbolu konfiguracyjnego tapestry.hmac-passphrase — najczęściej przechowywanego w klasie AppModule aplikacji — może użyć tego klucza do spreparowania złośliwego, podpisanego payloadu deserialization. Tak przygotowany payload przekazywany jest przez parametr t:formdata komponentu Form, co skutkuje wykonaniem dowolnego kodu Java po stronie serwera.

Skutki

Atakujący uzyskuje możliwość zdalnego wykonania dowolnego kodu Java na serwerze (RCE) bez konieczności uwierzytelnienia, co może prowadzić do pełnego przejęcia kontroli nad aplikacją i serwerem, ujawnienia danych oraz naruszenia integralności systemu.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się zabezpieczenie dostępu do zasobów classpath, aby uniemożliwić nieautoryzowane pobieranie plików konfiguracyjnych zawierających wrażliwe dane, takie jak klucz HMAC.

Kogo dotyczy

Apache Tapestry — wersje wskazane w referencjach producenta

Uwagi

Podatność ma charakter dwuetapowy: pierwszym krokiem jest path traversal na zasobach classpath umożliwiający kradzież klucza HMAC, drugim — właściwy atak deserialization. Informacja o podatności pojawiła się na liście oss-security w kwietniu 2021 r., mimo że CVE zostało opublikowane we wrześniu 2019 r.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Apache Tapestry

    APP
    Apache
    5.4.0 – 5.4.3
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Deserialization
CWE
Referencje

Powiązane podatności

CVE-2022-46366CRITICAL9.8PL ✓ten sam produkt

Apache Tapestry 3.x — RCE przez deserializację niezaufanych danych

CVE-2021-27850CRITICAL9.8PL ✓ten sam produkt

Apache Tapestry — RCE przez bypass filtra pobierania plików klasowych

CVE-2020-17531CRITICAL9.8PL ✓ten sam produkt

Apache Tapestry 4 — deserializacja parametru 'sp' bez uwierzytelnienia

CVE-2019-10071CRITICAL9.8PL ✓ten sam produkt

Apache Tapestry — timing side channel w weryfikacji HMAC prowadzący do RCE

CVE-2026-61899HIGH7.5ten sam produkt

Vulnerability in tapestry-core in Apache Tapestry 5.5.0+ on all platforms allows attackers to download clsspat...