Katalog CVE

CVE-2026-80977

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.13%

Percentyl 3 - wyżej niż 3% wszystkich znanych CVE

Streszczenie

W jądrze Linux funkcja skb_tx_error() kończy zerocopy uarg i czyści SKBFL_ALL_ZEROCOPY, a skb_zcopy_downgrade_managed() czyści SKBFL_MANAGED_FRAG_REFS — oba w skb_shinfo() współdzielonym przez klony. Przy klonie Open vSwitch (OVS_ACTION_ATTR_RECIRC) prowadzi to do zdjęcia znacznika z pakietu wciąż przekazywanego i późniejszego odszyfrowania ESP w miejscu na fragmentach, których nie posiada się na wyłączność.

Ocena ryzyka

Modyfikacja współdzielonego stanu zerocopy klonu może prowadzić do uszkodzenia pamięci lub ujawnienia danych przy odszyfrowywaniu ESP na współdzielonych fragmentach. Dotyczy systemów z Open vSwitch i zerocopy.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką pomijającą operację dla sklonowanego skb. Do czasu aktualizacji rozważ ograniczenie użycia zerocopy lub rekursji w OVS.

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: net: skbuff: don't touch shared zerocopy state in skb_tx_error() skb_tx_error() completes the zerocopy uarg and clears SKBFL_ALL_ZEROCOPY, and skb_zcopy_downgrade_managed() clears SKBFL_MANAGED_FRAG_REFS. Both live in skb_shinfo(), which every clone shares, while the caller only owns the reference it is about to drop. Through a clone it tells the producer its pages are free and drops SKBFL_SHARED_FRAG for an skb that is still in flight. Open vSwitch reaches this with a non-last OVS_ACTION_ATTR_RECIRC: clone_execute() sends a skb_clone() into ovs_dp_process_packet() while do_execute_actions() keeps forwarding the original, and skb_clone() does not privatise the frags here -- skb_orphan_frags() returns early on SKBFL_DONT_ORPHAN. A flow miss on the clone then strips the marker from the packet still being forwarded, and a later local ESP delivery decrypts in place over frags it does not own privately. Skip it for a cloned skb. Nothing is lost: skb_release_data() clears the zerocopy state once the last reference to the shared data goes.

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