CRITICAL🇬🇧 English

CVE-1999-0199

GNU glibc: brak dokumentacji wartości zwracanej przez tdelete przy usuwaniu korzenia drzewa

CVSS 9.8v3.1pub. 2020-10-06upd. 2024-11-20

Podatność w dokumentacji GNU C Library (glibc) przed wersją 2.2 polega na braku informacji o nieokreślonej wartości zwracanej przez funkcję tdelete przy usuwaniu korzenia drzewa binarnego. Może to prowadzić do sytuacji, w której programiści tworzą aplikacje podatne na dostęp do zwisającego wskaźnika (dangling pointer).

Pokaż oryginał (EN)

manual/search.texi in the GNU C Library (aka glibc) before 2.2 lacks a statement about the unspecified tdelete return value upon deletion of a tree's root, which might allow attackers to access a dangling pointer in an application whose developer was unaware of a documentation update from 1999.

🤖 Analiza AI
Jak działa

Funkcja tdelete w glibc zwraca nieokreśloną wartość w przypadku usunięcia korzenia drzewa binarnego, jednak fakt ten nie był udokumentowany w pliku manual/search.texi przed wersją 2.2. Programista nieświadomy tej właściwości (wynikającej z aktualizacji dokumentacji z 1999 roku) mógł napisać aplikację, która ufa zwróconej wartości wskaźnika i próbuje go wyłuskać po operacji usunięcia. W efekcie aplikacja może uzyskać dostęp do już zwolnionego obszaru pamięci (dangling pointer), co jest sklasyfikowane jako CWE-252 (unchecked return value).

Skutki

Atakujący może potencjalnie wykorzystać dostęp do zwisającego wskaźnika w podatnej aplikacji do odczytu lub zapisu pamięci, co w sprzyjających warunkach może prowadzić do ujawnienia danych, uszkodzenia pamięci lub wykonania dowolnego kodu.

Mitygacja

Należy zaktualizować glibc do wersji 2.2 lub nowszej, w której dokumentacja (manual/search.texi) została uzupełniona o odpowiednie ostrzeżenie. Poprawka dostępna jest w repozytorium projektu (commit 2864e767 w repozytorium bminor/glibc). Dodatkowo zaleca się przegląd kodu aplikacji korzystających z funkcji tdelete pod kątem poprawnej obsługi wartości zwracanej przy usuwaniu korzenia drzewa.

Kogo dotyczy

GNU C Library (glibc) w wersjach przed 2.2; dotyczy aplikacji napisanych z użyciem funkcji tdelete, których autorzy nie byli świadomi braku dokumentacji dotyczącej wartości zwracanej przy usuwaniu korzenia drzewa.

Uwagi

Podatność wynika z luki w dokumentacji istniejącej od 1999 roku; CVE zostało opublikowane formalnie dopiero w 2020 roku. Rzeczywiste ryzyko jest uzależnione od sposobu, w jaki konkretna aplikacja obsługuje wartość zwracaną przez tdelete — samo glibc nie jest bezpośrednio podatne, lecz może przyczyniać się do powstawania błędów w aplikacjach korzystających z tej biblioteki.

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

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

Powiązane podatności

CVE-2026-5450CRITICAL9.8PL ✓ten sam produkt

Heap buffer overflow w GNU C Library — funkcje scanf z formatem %mc

CVE-2023-25139CRITICAL9.8PL ✓ten sam produkt

Buffer overflow w funkcji sprintf biblioteki GNU glibc 2.37

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

Buffer overflow w funkcji svcunix_create biblioteki GNU C (glibc)

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

Buffer overflow w funkcji clnt_create glibc — RCE lub DoS

CVE-2021-35942CRITICAL9.1PL ✓ten sam produkt

Przepełnienie liczby całkowitej w funkcji wordexp biblioteki GNU glibc