CVE-2026-0799
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
W instrukcjach BPF, które ładują/zapisują wartość z/do rejestru pamięci scratch, indeks rejestru jest 32-bitową liczbą całkowitą bez znaku i nie może przekraczać 15, ale interpreter BPF w libpcap nie sprawdza tej wartości. W szczególnych, rzadkich przypadkach użycia, spreparowany program filtru może spowodować, że interpreter będzie próbował czytać i zapisywać pamięć procesu systemu operacyjnego w obszarze 16 GiB zaczynając od bieżącej ramki stosu na architekturach 64-bitowych oraz w całej przestrzeni adresowej na architekturach 32-bitowych.
Ocena ryzyka
Lokalny atakujący może wykorzystać tę podatność do odczytu i zapisu pamięci procesu, co może prowadzić do eskalacji uprawnień lub awarii systemu.
Rekomendacja
Zaktualizuj libpcap do wersji, w której poprawiono walidację indeksu rejestru.
Inne podatności w libpcap
Zobacz wszystkie- CVE-2011-1935Krytyczne
W pliku pcap-linux.c w libpcap 1.1.1 przed commit'em ea9432fabdf4b33cbc76d9437200e028f1c47c93, ustawienie snaplen może prowadzić do obcinania pakietów, co umożliwia zdalnym atakującym wysyłanie dowolnych danych bez wykrycia za pomocą spreparowanych pakietów.
- CVE-2026-6554Średnie
Interpretator BPF w libpcap traktuje przesunięcie w instrukcji BPF 'ja L' jako liczbę całkowitą ze znakiem, aby zaimplementować pętle za pomocą skoków wstecz, ale nie ogranicza liczby iteracji pętli. W szczególnych, rzadkich przypadkach użycia, spreparowany program filtrujący może spowodować nieskończoną pętlę w interpretatorze.
- CVE-2026-6244Średnie
Interpretator BPF w libpcap dla instrukcji ALU 'div #k' i 'mod #k' nie sprawdza, czy wartość bezpośrednia jest zerowa. W szczególnych, rzadkich przypadkach użycia, spreparowany program filtrujący może spowodować dzielenie przez zero.
- CVE-2026-31912Średnie
Interpretator BPF w libpcap nie wykrywa ani osiągnięcia końca bufora programu filtrującego z powodu braku instrukcji return, ani wykonania instrukcji skoku z przesunięciem wskazującym poza bufor. W szczególnych, rzadkich przypadkach użycia, spreparowany program filtrujący może spowodować, że interpretator spróbuje odczytać pamięć procesu systemu operacyjnego w obszarze 32 GiB wokół bufora na architekturach 64-bitowych i w całej przestrzeni adresowej na architekturach 32-bitowych.
- CVE-2026-31911Średnie
Interpretator BPF w libpcap wywołuje funkcję abort(), jeśli napotka instrukcję BPF z nieprawidłowym kodem operacji. W szczególnych, rzadkich przypadkach użycia, spreparowany program filtrujący może zakończyć proces systemu operacyjnego.
- CVE-2026-18313Średnie
rpcapd może przydzielić do 65536 bajtów na każdą wiadomość RPCAP_MSG_UPDATEFILTER_REQ lub RPCAP_MSG_STARTCAP_REQ otrzymaną od klienta, ale nigdy nie zwalnia tej pamięci, więc wycieka pamięć nawet podczas normalnego użytkowania. Złośliwy klient może spowodować znacznie szybszy wyciek pamięci serwera.
- CVE-2026-18238Średnie
Kod klienta rpcap, który przetwarza wiadomość RPCAP_MSG_PACKET otrzymaną od serwera, nieprawidłowo waliduje jej nagłówki. Złośliwy serwer może wysłać spreparowaną wiadomość i spowodować, że klient potraktuje do 20 bajtów pamięci procesu klienta poza końcem bufora jako część przechwyconego pakietu.
Oryginalny opis (angielski, źródło NVD)
In BPF instructions that load/store a value from/to a scratch memory register the register index is an unsigned 32-bit integer and must not exceed 15, but libpcap BPF interpreter does not validate the value. In particular uncommon use cases a crafted filter program can cause the interpreter to try reading and writing the OS process memory in the 16GiB starting at the current stack frame on 64-bit architectures and in the entire address space on 32-bit architectures.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

