Odebrany

CVE-2026-97602

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

inet: frags: unieważnia kolejki przed ich opróżnieniem

fqdir_pre_exit() opróżnia skbs z niekompletnych kolejek bez
zmianę stanu ich ukończenia. Fragment, który wcześniej znalazł się w kolejce
high_thresh został wyczyszczony, można następnie uzyskać blokadę kolejki i ponownie wykorzystać nieaktualne
metadane ponownego złożenia. Kolejka, która została jednocześnie zabita po fqdir->dead to
set może zamiast tego stać się INET_FRAG_COMPLETE|INET_FRAG_HASH_DEAD while
wciąż trzyma swoje stare skbs; pomijam go, ponieważ są to kompletne liście
te odniesienia pozostają aż do asynchronicznego usunięcia fqdir.

W przypadku protokołu IPv6 nieaktualne metadane mogą sprawić, że ip6_frag_reasm() użyje starych
nhoffset z nowym skb i pamięcią dostępową poza zakresem. Wynikowy
uszkodzenie sterty można wykorzystać do lokalnej eskalacji uprawnień, gdy
dostępne są nieuprzywilejowane sieciowe przestrzenie nazw. Nieprzepłukane fragmenty mogą
utrzymuj także referencje conntrack przy życiu po conntrack per-net
punkt sprzątania.

Zabij każdą niekompletną kolejkę, a następnie opróżnij każdą kolejkę nadal posiadaną przez
umierający rhashtable. HASH_DEAD identyfikuje tę własność, gdy jest kompletna
kolejki bez niej są już własnością innej ścieżki niszczenia i muszą nią być
pozostawiony sam. Zwolnienie odniesienia do timera usuniętego przez inet_frag_kill() to
odroczone do inet_frag_putn(), po usunięciu blokady kolejki.

Raport KASANA:

BŁĄD: KASAN: płyta poza granicami w ipv6_frag_rcv (net/ipv6/reassembly.c:289 (wyróżnik 2) net/ipv6/reassembly.c:229 (wyróżnik 2) net/ipv6/reassembly.c:391 (wyróżnik 2))
Zapisz rozmiar 1 pod adresem ff110001039c6e00 w zadaniu poc/771
Zadzwoń do śledzenia:
? ipv6_frag_rcv (net/ipv6/reassembly.c:289 (wyróżnik 2) net/ipv6/reassembly.c:229 (wyróżnik 2) net/ipv6/reassembly.c:391 (wyróżnik 2))
ipv6_frag_rcv (net/ipv6/reassembly.c:289 (wyróżnik 2) net/ipv6/reassembly.c:229 (wyróżnik 2) net/ipv6/reassembly.c:391 (wyróżnik 2))
ip6_protocol_deliver_rcu (net/ipv6/ip6_input.c:479 (dyskryminator 5))
ip6_input_finish (net/ipv6/ip6_input.c:534)
ipv6_rcv (include/net/dst.h:480 (wyróżnik 3) net/ipv6/ip6_input.c:119 (wyróżnik 3) net/ipv6/ip6_input.c:109 (wyróżnik 3) include/linux/netfilter.h:325 (wyróżnik 3) include/linux/netfilter.h:319 (dyskryminator 3) net/ipv6/ip6_input.c:351 (dyskryminator 3))
package_sendmsg (net/packet/af_packet.c:3110 net/packet/af_packet.c:3142)
__x64_sys_sendmmsg (net/socket.c:2883 net/socket.c:2880 net/socket.c:2880)
Błędny adres należy do obiektu pod adresem ff110001039c6b40
który należy do pamięci podręcznej skbuff_small_head o rozmiarze 704
Błędny adres znajduje się 0 bajtów na prawo od
przydzielony region 704-bajtowy [ff110001039c6b40, ff110001039c6e00)

BŁĄD: KASAN: płyta poza granicami w ip6_protocol_deliver_rcu (net/ipv6/ip6_input.c:423 (dyskryminator 1))
Odczytaj rozmiar 1 pod adresem ff110001039c6e08 w zadaniu poc/771
Zadzwoń do śledzenia:
? ip6_protocol_deliver_rcu (net/ipv6/ip6_input.c:423 (dyskryminator 1))
ip6_protocol_deliver_rcu (net/ipv6/ip6_input.c:423 (dyskryminator 1))
ip6_input_finish (net/ipv6/ip6_input.c:534)
ipv6_rcv (include/net/dst.h:480 (wyróżnik 3) net/ipv6/ip6_input.c:119 (wyróżnik 3) net/ipv6/ip6_input.c:109 (wyróżnik 3) include/linux/netfilter.h:325 (wyróżnik 3) include/linux/netfilter.h:319 (dyskryminator 3) net/ipv6/ip6_input.c:351 (dyskryminator 3))
package_sendmsg (net/packet/af_packet.c:3110 net/packet/af_packet.c:3142)
__x64_sys_sendmmsg (net/socket.c:2883 net/socket.c:2880 net/socket.c:2880)
package_sendmsg (net/packet/af_packet.c:2959 net/packet/af_packet.c:3053 net/packet/af_packet.c:3142)
__x64_sys_sendmmsg (net/socket.c:2883 net/socket.c:2880 net/socket.c:2880)
Błędny adres należy do obiektu pod adresem ff110001039c6b40
który należy do pamięci podręcznej skbuff_small_head o rozmiarze 704
Błędny adres znajduje się 8 bajtów na prawo od
przydzielony region 704-bajtowy [ff110001039c6b40, ff110001039c6e00)

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org