CRITICAL🇬🇧 English

CVE-2019-10071

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

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

Apache Tapestry zawiera podatność polegającą na porównywaniu sygnatur HMAC za pomocą metody String.equals(), która jest podatna na atak czasowy (timing side channel). Błąd ten może umożliwić zdalnemu atakującemu odtworzenie prawidłowej sygnatury i wykonanie dowolnego kodu na serwerze (RCE).

Pokaż oryginał (EN)

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

🤖 Analiza AI
Jak działa

Podczas przetwarzania formularzy aplikacja weryfikuje podpis HMAC używając standardowej metody String.equals(), która kończy porównywanie łańcuchów znaków przy pierwszej różnicy — czas odpowiedzi jest zatem uzależniony od liczby pasujących bajtów. Atakujący może wielokrotnie wysyłać żądania z różnymi wariantami sygnatury i mierząc czas odpowiedzi metodycznie odtworzyć prawidłową wartość HMAC bajt po bajcie. Po ustaleniu poprawnej sygnatury atakujący może spreparować złośliwy payload, który zostanie przez aplikację potraktowany jako zaufany, co prowadzi do zdalnego wykonania kodu. Prawidłowym rozwiązaniem jest zastąpienie porównania algorytmem działającym w stałym czasie (constant-time comparison).

Skutki

Atakujący bez żadnego uwierzytelnienia może uzyskać zdalną kontrolę nad serwerem (RCE), co oznacza pełne naruszenie poufności, integralności oraz dostępności systemu.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Producent wskazuje konieczność zastąpienia metody String.equals() algorytmem porównywania sygnatur działającym w stałym czasie.

Kogo dotyczy

Apache Tapestry — wersje wskazane w referencjach producenta

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
RCE
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-0195CRITICAL9.8PL ✓ten sam produkt

Apache Tapestry — RCE przez deserialization po wycieku klucza HMAC

CVE-2026-61899HIGH7.5ten sam produkt

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