Katalog CVE

CVE-2026-80848

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w module xfrm (ESP-in-TCP) występuje błąd użycia po zwolnieniu (UAF) podczas zamykania gniazda espintcp. Funkcja espintcp_close() zwalnia skb bez trzymania blokady gniazda, podczas gdy kolejka pracy xfrm_trans_reinject może nadal używać tego samego skb. Poprawka dodaje synchronize_rcu() po zresetowaniu sk_prot.

Ocena ryzyka

Organizacja może doświadczyć awarii systemu lub nieprawidłowego działania połączeń ESP-in-TCP, co może wpłynąć na bezpieczeństwo transmisji danych.

Rekomendacja

Zastosuj aktualizację jądra Linux zawierającą poprawkę, która dodaje synchronize_rcu() po zresetowaniu sk_prot w espintcp_close().

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: xfrm: espintcp: fix UAF during close ZDI reported and analyzed a race condition during close for espintcp sockets: espintcp_close() frees emsg->skb via kfree_skb() without holding any socket lock. Concurrently, the xfrm_trans_reinject work queue invokes esp_output_tcp_finish() -> espintcp_push_skb() -> espintcp_push_msgs() -> skb_send_sock_locked(), which reads the same skb as a data source. Fix this by adding a synchronize_rcu() call after resetting sk_prot, since esp_output_tcp_finish() runs under RCU and won't use a socket with sk_prot == &tcp_prot. Simply taking the socket lock in espintcp_close() could lead to leaks, if esp_output_tcp_finish() re-adds an skb in the slot we just freed. After this, the existing barrier() is no longer needed.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS