CVE-2026-118444
ŚrednieCVSS 4.8Streszczenie
W powiązaniach Pythona pybddisasm występują podatności typu out-of-bounds read, które mogą ujawnić sąsiednią pamięć procesu podczas dekodowania instrukcji. Funkcja nd_decode może odczytać do 15 bajtów bez sprawdzenia rzeczywistej długości bufora, a funkcje nd_decode_ex, nd_decode_ex2 i nd_decode_with_context przekazują rozmiar bufora bez walidacji względem rzeczywistej długości, co może ujawnić dane przez nd_get_instrux_bytes.
Ocena ryzyka
Możliwe jest ujawnienie sąsiedniej pamięci procesu, co może prowadzić do wycieku danych wrażliwych. Ryzyko występuje, gdy aplikacja wywołuje te API z krótkim buforem lub zawyżonym rozmiarem i udostępnia wynik atakującemu.
Rekomendacja
Zastąp pybddisasm utrzymywaną alternatywą lub ogranicz jego użycie, ponieważ pakiet nie jest już utrzymywany. Aplikacje powinny walidować długość bufora i nie udostępniać danych zwracanych przez nd_get_instrux_bytes po nieprawidłowym wywołaniu.
Inne podatności w pybddisasm
Zobacz wszystkie- CVE-2026-118448Średnie
W powiązaniach Pythona pybddisasm występuje użycie niezainicjowanej pamięci w funkcji nd_to_text. Gdy konwersja tekstu się nie powiedzie (także z powodu nieprawidłowych parametrów), bufor wyjściowy może pozostać niezainicjowany, a mimo to zostać zwrócony do Pythona, co może ujawnić resztkowe dane pamięci procesu lub spowodować awarię.
- CVE-2026-118447Średnie
W powiązaniach Pythona pybddisasm występuje użycie niezainicjowanej pamięci, która może ujawnić pamięć procesu, gdy dekodowanie instrukcji się nie powiedzie. Funkcje nd_decode, nd_decode_ex, nd_decode_ex2 i nd_decode_with_context mogą zwrócić obiekt INSTRUX z niezainicjowaną zawartością po nieudanej operacji, a dostęp do jego składowych może ujawnić resztkowe dane pamięci.
- CVE-2026-118446Średnie
W powiązaniach Pythona pybddisasm występuje użycie po zwolnieniu (use-after-free) dotyczące składowych tablicowych obiektów INSTRUX, w tym tablic ND_OPERAND. Tablice te są udostępniane jako listy Pythona odwołujące się do pamięci obiektu nadrzędnego, a przetrzymanie elementu nie utrzymuje przy życiu alokacji nadrzędnej, więc dostęp po jej zwolnieniu sięga do zwolnionej pamięci.
- CVE-2026-118445Średnie
W powiązaniach Pythona pybddisasm występuje użycie po zwolnieniu (use-after-free) dotyczące składowych strukturalnych obiektów INSTRUX. Składowe te są udostępniane przez obiekty Pythona odwołujące się do pamięci obiektu nadrzędnego, a przetrzymana referencja nie utrzymuje przy życiu alokacji nadrzędnej, więc dostęp po jej zwolnieniu sięga do zwolnionej pamięci.
Oryginalny opis (angielski, źródło NVD)
Out-of-bounds read vulnerabilities in the pybddisasm Python bindings may disclose adjacent process memory during instruction decoding. The nd_decode function may read up to 15 bytes without checking the actual length of the supplied Python buffer. The nd_decode_ex, nd_decode_ex2, and nd_decode_with_context functions pass the caller-supplied buffer size to the decoder without validating it against the actual length of the Python buffer. Data read beyond the buffer may be exposed through nd_get_instrux_bytes, which returns a fixed-length list of 16 bytes. Exploitation requires an application to invoke the affected APIs with a short buffer or an oversized length and to expose the resulting bytes to an attacker. The pybddisasm package is no longer maintained.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

