Krytyczna podatność w oprogramowaniu Netatalk umożliwia zdalnemu atakującemu wykonanie dowolnego kodu bez konieczności uwierzytelniania. Błąd wynika z braku walidacji długości danych wejściowych przed skopiowaniem ich do bufora na stercie (heap-based buffer overflow).
▸ Pokaż oryginał (EN)
This vulnerability allows remote attackers to execute arbitrary code on affected installations of Netatalk. Authentication is not required to exploit this vulnerability. The specific flaw exists within the dsi_writeinit function. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a fixed-length heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of root. Was ZDI-CAN-17646.
Podatność znajduje się w funkcji dsi_writeinit, która nie weryfikuje poprawnie długości danych dostarczanych przez użytkownika przed ich skopiowaniem do bufora o stałym rozmiarze alokowanego na stercie (CWE-122: heap-based buffer overflow). Atakujący może wysłać specjalnie spreparowane dane, które przekroczą granicę bufora i nadpiszą sąsiednie obszary pamięci. W efekcie możliwe jest przejęcie przepływu wykonania programu i uruchomienie dowolnego kodu.
Atakujący może wykonać dowolny kod w kontekście użytkownika root, co oznacza pełne przejęcie kontroli nad systemem, na którym uruchomiony jest Netatalk.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka dostępna w repozytorium Netatalk (pull request #186). Użytkownicy dystrybucji Debian i Fedora powinni zaktualizować pakiety zgodnie z komunikatami bezpieczeństwa opublikowanymi przez odpowiednie listy dystrybucji.
Instalacje oprogramowania Netatalk (wersje wskazane w referencjach producenta oraz pakietach dystrybucji Debian i Fedora).
Podatność była pierwotnie zgłoszona i śledzona przez Zero Day Initiative pod identyfikatorem ZDI-CAN-17646.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNetatalk
APPNetatalk3.1.13
Powiązane podatności
Heap-based buffer overflow w Netatalk (off-by-one w FPMapName)
Netatalk: heap-based buffer overflow w obsłudze logowania FPLoginExt
Type Confusion w Netatalk afpd — możliwe RCE przez Spotlight RPC
Netatalk: RCE bez uwierzytelnienia przez błąd parsowania AppleDouble
RCE w Netatalk — stack-based buffer overflow w funkcji setfilparams