CVE-2026-80681
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
W jądrze Linux w podsystemie vxlan, po wywołaniu route_shortcircuit(), wskaźnik do nagłówka Ethernet może wskazywać na zwolnioną pamięć, ponieważ funkcja może realokować bufor skb. Prowadzi to do użycia po zwolnieniu (use-after-free) przy odczycie adresu docelowego.
Ocena ryzyka
Użycie po zwolnieniu może prowadzić do awarii systemu, nieprawidłowego działania sieci lub potencjalnego wykorzystania do zdalnego wykonania kodu.
Rekomendacja
Zastosuj poprawkę jądra Linux, która odświeża wskaźnik eth = eth_hdr(skb) po wywołaniu route_shortcircuit().
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-98374Nieznane
W jądrze Linux występuje podatność use-after-free w tcp_send_synack() dotycząca retransmit_skb_hint. Gdy tcp_send_synack() zastępuje sklonowany SYN skb na początku kolejki retransmisji kopią, zwalnia oryginał, ale tp->retransmit_skb_hint nadal wskazuje na zwolniony obiekt, co może być wykorzystane przez nieuprzywilejowanego klienta TFO do wywołania use-after-free.
- CVE-2026-98373Nieznane
W jądrze Linux występuje błąd w move_hugetlb_page_tables(), gdzie adres docelowy jest przesuwany zbyt daleko, gdy offsety w tablicach stron źródłowej i docelowej różnią się. Może to prowadzić do paniki jądra na x86-64.
- CVE-2026-98048Nieznane
W jądrze Linux w podsystemie BPF funkcja mark_fastcall_pattern_for_call() musi zapewnić, że dopasowana sekwencja instrukcji "spill; call; fill" nie jest przerwana przez skok. W przeciwnym razie przepisanie zastosowane przez bpf_remove_fastcall_spills_fills() jest niepoprawne. Poprawka rejestruje instrukcje będące celami skoków w insn_aux_data[*].jump_target i używa tej flagi do zatrzymania rozwijania wzorca.
- CVE-2026-98047Nieznane
W jądrze Linux w podsystemie BPF funkcja in_rbtree_lock_required_cb() sprawdza tylko najgłębszą ramkę weryfikatora, przez co ograniczenia callbacku rbtree znikają w zagnieżdżonej ramce wywołania statycznego podprogramu. Podprogram może odblokować drzewo, usunąć i zwolnić porównywany węzeł, a następnie ponownie zablokować, co prowadzi do wstawienia zwolnionej pamięci do drzewa.
- CVE-2026-98045Nieznane
W jądrze Linux podatność w weryfikatorze BPF dotyczy helperów stosu, które mogą blokować na odczytach systemu plików (np. przy rozwiązywaniu build ID), ale nie były oznaczone jako uśpialne. Weryfikator mógł zezwolić na ich wywołanie z regionów nieuśpialnych, takich jak sekcje RCU czy z wyłączonym wywłaszczaniem.
- CVE-2026-98044Nieznane
W jądrze Linux weryfikator BPF błędnie obsługiwał przestarzałe instrukcje ładowania pakietów (BPF_LD_ABS/BPF_LD_IND) wywoływane z callbacków, co prowadziło do błędu weryfikatora i ostrzeżenia oraz błędu -EFAULT przy BPF_PROG_LOAD. Uprawniony ładowacz programów mógł wywołać ten problem.
- CVE-2026-98043Nieznane
W jądrze Linux weryfikator BPF błędnie wnioskował, że wskaźnik z nieograniczonym przesunięciem jest nie-NULL, opierając się tylko na typie. W wyniku tego program BPF mógł przejść weryfikację, a w czasie działania nastąpiło wyłuskanie wskaźnika NULL.
- CVE-2026-98042Nieznane
W jądrze Linux weryfikator BPF mógł przywrócić identyfikator skalara usunięty przez collect_linked_regs(), ponieważ kopie porównywanych rejestrów były wykonywane przed zebraniem powiązanych rejestrów. Mogło to prowadzić do niespójności zakresów i propagacji precyzji.
- CVE-2026-98041Wysokie
W jądrze Linux weryfikator BPF błędnie przewidywał wynik porównania wskaźnika z zerem w instrukcjach JMP32, nie odróżniając porównań BPF_JMP od BPF_JMP32. Prowadziło to do nieprawidłowego wnioskowania o zawsze wykonanym skoku.
- CVE-2026-98040Nieznane
W jądrze Linux weryfikator BPF nie oznaczał rejestru zerowego jako precyzyjnego przy sprawdzaniu NULL w formie porównania rejestrów. W rezultacie jedna ze ścieżek była przycinana, a program mógł wyłuskać wskaźnik o wartości zero w czasie działania.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: vxlan: re-fetch eth header after route_shortcircuit() Before route_shortcircuit(), the eth header pointer is cached from eth_hdr(skb). Inside route_shortcircuit(), pskb_may_pull() can be called, which may reallocate skb->head. In this case, returning to vxlan_xmit() leaves the cached eth pointer pointing to freed memory, leading to a use-after-free when dereferencing eth->h_dest. Fix this by updating eth = eth_hdr(skb) after calling route_shortcircuit().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

