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.
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.
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.
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.
Red Hat libnbd — wersje wskazane w referencjach producenta (zgłoszenie: bugzilla.redhat.com, CVE-2019-14842)
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:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRed Hat Libnbd
APPRedhat< 1.0.3
Powiązane podatności
A flaw was found in libnbd, due to a malicious Network Block Device (NBD), a protocol for accessing Block Devi...
A flaw was found in libnbd. A server can reply with a block size larger than 2^63 (the NBD spec states the siz...
A flaw was found in the copying tool `nbdcopy` of libnbd. When performing multi-threaded copies using asynchro...
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...
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)