CRITICAL🇬🇧 English

CVE-2021-43298

Embedthis GoAhead: brute-force hasła HTTP Basic Auth przez timing attack

CVSS 9.8v3.1pub. 2022-01-25upd. 2024-11-21

Implementacja uwierzytelniania HTTP Basic w serwerze Embedthis GoAhead nie stosuje porównania stałoczasowego (constant-time memcmp) ani ograniczenia liczby prób logowania. Umożliwia to zdalnemu atakującemu odgadnięcie hasła bajt po bajcie poprzez analizę czasu odpowiedzi serwera.

Pokaż oryginał (EN)

The code that performs password matching when using 'Basic' HTTP authentication does not use a constant-time memcmp and has no rate-limiting. This means that an unauthenticated network attacker can brute-force the HTTP basic password, byte-by-byte, by recording the webserver's response time until the unauthorized (401) response.

🤖 Analiza AI
Jak działa

Podczas weryfikacji hasła w mechanizmie HTTP Basic Auth kod porównuje podane hasło z wzorcem w sposób zależny od czasu — funkcja memcmp kończy działanie w momencie napotkania pierwszej różnicy między bajtami. Atakujący może wysyłać kolejne żądania z różnymi wariantami hasła i mierzyć czas odpowiedzi serwera (timing side-channel): dłuższy czas przetwarzania oznacza, że więcej kolejnych bajtów hasła jest poprawnych. Brak mechanizmu rate-limiting oznacza, że atakujący może wykonywać nieograniczoną liczbę takich prób bez żadnych konsekwencji. W efekcie hasło może zostać odgadnięte znak po znaku w czasie wielokrotnie krótszym niż klasyczny brute-force.

Skutki

Nieuwierzytelniony atakujący sieciowy może odgadnąć hasło HTTP Basic Auth i uzyskać pełen dostęp do zasobów chronionych tym mechanizmem, co może prowadzić do przejęcia kontroli nad urządzeniem lub systemem.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się wdrożenie mechanizmów rate-limiting na poziomie sieciowym (np. firewall, reverse proxy) ograniczających liczbę prób uwierzytelnienia z jednego adresu IP, a docelowo zastąpienie HTTP Basic Auth bezpieczniejszym mechanizmem uwierzytelniania.

Kogo dotyczy

Embedthis GoAhead — wersje wskazane w referencjach producenta (zgłoszenie: https://github.com/embedthis/goahead/issues/304)

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

    APP
    Embedthis
    < 5.1.4
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

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

GoAhead WebServer: niewystarczająca entropia nonce w uwierzytelnianiu HTTP Digest

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

GoAhead: tunelowanie zmiennych środowiskowych do skryptów CGI przez upload pliku

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

GoAhead Web Server: RCE przez use-after-free w obsłudze multipart/form-data

CVE-2017-1000471CRITICAL9.8PL ✓ten sam produkt

NULL pointer dereference w obsłudze CGI serwera EmbedThis GoAhead 4.0.0

CVE-2017-5674CRITICAL9.8PL ✓ten sam produkt

Ujawnienie hasła konfiguracyjnego w kamerach IP przez GoAhead