CRITICAL🇬🇧 English

CVE-2019-25009

Double-Free w bibliotece http dla Rust — podatność HeaderMap::Drain

CVSS 9.8v3.1pub. 2020-12-31upd. 2024-11-21

Biblioteka http (crate) dla języka Rust w wersjach przed 0.1.20 zawiera krytyczną podatność typu double-free (CWE-415) w komponencie HeaderMap::Drain. Błąd umożliwia naruszenie bezpieczeństwa pamięci poprzez użycie surowego wskaźnika (raw pointer), co podważa gwarancje poprawności (soundness) zapewniane przez język Rust.

Pokaż oryginał (EN)

An issue was discovered in the http crate before 0.1.20 for Rust. The HeaderMap::Drain API can use a raw pointer, defeating soundness.

🤖 Analiza AI
Jak działa

API HeaderMap::Drain w bibliotece http korzysta wewnętrznie z surowego wskaźnika (raw pointer), omijając tym samym mechanizmy bezpieczeństwa pamięci wbudowane w język Rust. Prowadzi to do sytuacji double-free, czyli dwukrotnego zwolnienia tego samego obszaru pamięci. Tego rodzaju błąd narusza tzw. soundness — fundamentalną właściwość Rust gwarantującą, że bezpieczny kod nie może powodować niezdefiniowanego zachowania (undefined behavior).

Skutki

Atakujący może potencjalnie wykonać dowolny kod (RCE), doprowadzić do uszkodzenia pamięci procesu lub jego awaryjnego zakończenia. Pełna triada CIA jest zagrożona — możliwa jest utrata poufności, integralności i dostępności danych.

Mitygacja

Należy zaktualizować bibliotekę http do wersji 0.1.20 lub nowszej, w której problem został usunięty. Szczegóły dostępne w referencjach producenta: https://rustsec.org/advisories/RUSTSEC-2019-0034.html

Kogo dotyczy

Biblioteka http (crate) dla języka Rust w wersjach przed 0.1.20 (produkt Hyper Http).

Uwagi

Podatność dotyczy naruszenia zasady soundness języka Rust — mechanizmu, który ma gwarantować, że nawet bez użycia bloków unsafe kod nie powoduje niezdefiniowanego zachowania. Identyfikator doradztwa w bazie RustSec: RUSTSEC-2019-0034.

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

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

Powiązane podatności

CVE-2020-25574HIGH7.5ten sam produkt

An issue was discovered in the http crate before 0.1.20 for Rust. An integer overflow in HeaderMap::reserve() ...

CVE-2020-35863CRITICAL9.8PL ✓ten sam vendor

HTTP request smuggling i RCE w bibliotece hyper dla Rust

CVE-2023-26964HIGH7.5ten sam vendor

An issue was discovered in hyper v0.13.7. h2-0.2.4 Stream stacking occurs when the H2 component processes HTTP...

CVE-2022-31394HIGH7.5ten sam vendor

Hyperium Hyper before 0.14.19 does not allow for customization of the max_header_list_size method in the H2 th...

CVE-2018-9862HIGH7.8ten sam vendor

util.c in runV 1.0.0 for Docker mishandles a numeric username, which allows attackers to obtain root access by...