CRITICAL🇬🇧 English

CVE-2018-1000005

libcurl: odczyt poza granicami bufora przy obsłudze nagłówków HTTP/2

CVSS 9.1v3.0pub. 2018-01-24upd. 2024-11-21

Biblioteka libcurl w wersjach 7.49.0 do 7.57.0 zawiera błąd odczytu poza granicami bufora (out-of-bounds read) podczas przetwarzania nagłówków końcowych (trailers) protokołu HTTP/2. Podatność może prowadzić do odmowy usługi (DoS) lub ujawnienia poufnych danych.

Pokaż oryginał (EN)

libcurl 7.49.0 to and including 7.57.0 contains an out bounds read in code handling HTTP/2 trailers. It was reported (https://github.com/curl/curl/pull/2231) that reading an HTTP/2 trailer could mess up future trailers since the stored size was one byte less than required. The problem is that the code that creates HTTP/1-like headers from the HTTP/2 trailer data once appended a string like `:` to the target buffer, while this was recently changed to `: ` (a space was added after the colon) but the following math wasn't updated correspondingly. When accessed, the data is read out of bounds and causes either a crash or that the (too large) data gets passed to client write. This could lead to a denial-of-service situation or an information disclosure if someone has a service that echoes back or uses the trailers for something.

🤖 Analiza AI
Jak działa

Kod biblioteki odpowiedzialny za konwersję nagłówków HTTP/2 trailers do formatu przypominającego HTTP/1 dołączał do bufora docelowego ciąg znaków `:`, który następnie zmieniono na `: ` (dodano spację po dwukropku). Jednak powiązane obliczenia rozmiaru bufora nie zostały zaktualizowane o ten dodatkowy bajt, przez co zarezerwowana przestrzeń była o jeden bajt za mała. Przy próbie dostępu do tak przygotowanych danych następuje odczyt poza przydzielonym obszarem pamięci, co skutkuje awarią aplikacji lub przekazaniem zbyt dużej porcji danych do procedury zapisu po stronie klienta.

Skutki

Atakujący może doprowadzić do crash'u aplikacji korzystającej z libcurl (denial-of-service) lub spowodować ujawnienie zawartości pamięci procesu, jeśli usługa odbijająca odpowiedź lub przetwarzająca nagłówki końcowe przekaże nieprawidłowe dane dalej.

Mitygacja

Należy zaktualizować libcurl do wersji 7.58.0 lub nowszej. Użytkownicy dystrybucji Linux powinni zastosować patche dostępne w ramach aktualizacji systemowych (Debian, Ubuntu USN-3554-1, Red Hat RHSA-2019:1543) zgodnie z referencjami producenta.

Kogo dotyczy

libcurl w wersjach od 7.49.0 do 7.57.0 włącznie; pośrednio dotyczy dystrybucji Debian Linux, Ubuntu Linux oraz innych systemów korzystających z podatnych wersji biblioteki.

Uwagi

Podatność została zgłoszona za pośrednictwem pull requesta w repozytorium curl na GitHub (PR #2231). Szczegółowe informacje techniczne dostępne są w oficjalnym biuletynie bezpieczeństwa curl pod adresem https://curl.haxx.se/docs/adv_2018-824a.html.

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
  • Canonical Ubuntu

    OS
    Canonical
    14.0416.0417.10
  • Debian

    OS
    Debian
    8.09.0
  • Haxx Libcurl

    APP
    Haxx
    7.49.0 – 7.57.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki