CRITICAL🇬🇧 English

CVE-2022-34970

Heap-based buffer overflow w Crow (RCE) przez funkcję qs_parse

CVSS 9.8v3.1pub. 2022-08-04upd. 2024-11-21

Podatność typu heap-based buffer overflow w bibliotece Crow przed wersją 1.0+4 umożliwia zdalne wykonanie dowolnego kodu (RCE) bez uwierzytelnienia. Ze względu na sieciowy wektor ataku i brak wymagań wstępnych stanowi krytyczne zagrożenie dla aplikacji webowych opartych na tej bibliotece.

Pokaż oryginał (EN)

Crow before 1.0+4 has a heap-based buffer overflow via the function qs_parse in query_string.h. On successful exploitation this vulnerability allows attackers to remotely execute arbitrary code in the context of the vulnerable service.

🤖 Analiza AI
Jak działa

Błąd wynika z nieprawidłowej obsługi granic bufora (CWE-193 – off-by-one error) w funkcji qs_parse znajdującej się w pliku query_string.h. Poprzez spreparowane zapytanie HTTP zawierające odpowiednio sformułowany ciąg query string, atakujący może doprowadzić do przepełnienia bufora na stercie (heap). Skuteczne przepełnienie pozwala na nadpisanie pamięci procesu i przejęcie kontroli nad jego wykonaniem.

Skutki

Atakujący może zdalnie wykonać dowolny kod w kontekście podatnej usługi, co w praktyce oznacza pełne przejęcie kontroli nad procesem serwera. W zależności od uprawnień uruchomionej usługi możliwe jest uzyskanie dostępu do danych, eskalacja uprawnień lub kompromitacja całego systemu.

Mitygacja

Należy zaktualizować bibliotekę Crow do wersji 1.0+4 lub nowszej, w której błąd został naprawiony (patrz: https://github.com/CrowCpp/Crow/releases/tag/v1.0%2B4 oraz pull request #486). W przypadku braku możliwości natychmiastowej aktualizacji zaleca się ograniczenie dostępu do usługi na poziomie firewall oraz monitorowanie ruchu HTTP pod kątem anomalii w query string.

Kogo dotyczy

Crowcpp Crow w wersjach przed 1.0+4

Uwagi

Dostępny jest publiczny raport PoC pod adresem https://github.com/0xhebi/CVE-2022-34970/blob/master/report.md, co może ułatwić potencjalnym atakującym opracowanie działającego exploitu.

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

    APP
    Crowcpp
    < 1.0\+4
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEMemory
CWE
Referencje

Powiązane podatności

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

Use-After-Free w Crow (CrowCpp) przy HTTP pipelining — możliwy RCE

CVE-2022-38668HIGH7.5ten sam produkt

HTTP applications (servers) based on Crow through 1.0+4 may reveal potentially sensitive uninitialized data fr...

CVE-2023-26142MEDIUM6.5ten sam produkt

All versions of the package crow are vulnerable to HTTP Response Splitting when untrusted user input is used t...

CVE-2021-23514MEDIUM6.5ten sam produkt

This affects the package Crow before 0.3+4. It is possible to traverse directories to fetch arbitrary files fr...

CVE-2021-23824MEDIUM6.5ten sam produkt

This affects the package Crow before 0.3+4. When using attributes without quotes in the template, an attacker ...