CRITICAL🇬🇧 English

CVE-2019-14842

Przepełnienie bufora w libnbd (NBD structured reply) — RCE

CVSS 9.8v3.1pub. 2019-11-26upd. 2024-11-21

Podatność w bibliotece libnbd (Red Hat) umożliwia złośliwemu serwerowi NBD zapis danych poza przydzielonym buforem odczytu klienta poprzez błąd signed/unsigned w sprawdzaniu granic. W konsekwencji możliwe jest zdalne wykonanie dowolnego kodu (RCE) po stronie klienta nawiązującego połączenie z serwerem.

Pokaż oryginał (EN)

Structured reply is a feature of the newstyle NBD protocol allowing the server to send a reply in chunks. A bounds check which was supposed to test for chunk offsets smaller than the beginning of the request did not work because of signed/unsigned confusion. If one of these chunks contains a negative offset then data under control of the server is written to memory before the read buffer supplied by the client. If the read buffer is located on the stack then this allows the stack return address from nbd_pread() to be trivially modified, allowing arbitrary code execution under the control of the server. If the buffer is located on the heap then other memory objects before the buffer can be overwritten, which again would usually lead to arbitrary code execution.

🤖 Analiza AI
Jak działa

Protokół NBD w trybie newstyle obsługuje tzw. structured reply, czyli odpowiedzi serwera podzielone na fragmenty (chunki). Kontrola granic sprawdzająca, czy offset chunku nie wychodzi poza początek żądania, była wadliwa z powodu błędu mieszania typów ze znakiem i bez znaku (signed/unsigned confusion). Jeśli serwer wyśle chunk z ujemnym offsetem, dane kontrolowane przez serwer są zapisywane w pamięci przed buforem odczytu dostarczonym przez klienta. Gdy bufor leży na stosie, pozwala to na nadpisanie adresu powrotu funkcji nbd_pread() i przejęcie wykonania programu; gdy bufor leży na stercie, nadpisywane są sąsiednie obiekty w pamięci, co również prowadzi do RCE.

Skutki

Atakujący kontrolujący serwer NBD może doprowadzić do wykonania dowolnego kodu po stronie klienta (RCE), a tym samym do pełnego przejęcia kontroli nad procesem klienckim — naruszając poufność, integralność i dostępność systemu.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami (Red Hat Bugzilla CVE-2019-14842). Należy ograniczyć połączenia klientów libnbd wyłącznie do zaufanych serwerów NBD oraz stosować zasadę minimalnych uprawnień dla procesów korzystających z biblioteki.

Kogo dotyczy

Red Hat libnbd — wersje wskazane w referencjach producenta (zgłoszenie: bugzilla.redhat.com, CVE-2019-14842)

Uwagi

Podatność wymaga, aby klient libnbd łączył się ze złośliwym lub skompromitowanym serwerem NBD — scenariusz ataku zakłada sieciową kontrolę serwera przez atakującego (AV:N, PR:N, UI:N).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Red Hat Libnbd

    APP
    Redhat
    < 1.0.3
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2023-5871MEDIUM5.3ten sam produkt

A flaw was found in libnbd, due to a malicious Network Block Device (NBD), a protocol for accessing Block Devi...

CVE-2023-5215MEDIUM5.3ten sam produkt

A flaw was found in libnbd. A server can reply with a block size larger than 2^63 (the NBD spec states the siz...

CVE-2022-0485MEDIUM4.8ten sam produkt

A flaw was found in the copying tool `nbdcopy` of libnbd. When performing multi-threaded copies using asynchro...

CVE-2021-20286LOW2.7ten sam produkt

Odkryto lukę w libnbd 1.7.3. Błąd asercji w funkcji nbd_unlocked_opt_go w pliku lib/opt.c może prowadzić do de...

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

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