Odebrany

CVE-2026-98401

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ę:

net: iptunnel: napraw nieaktualny nagłówek transportu podczas dekapsulacji tunelu

Syzbot zgłosił awarię qdisc_pkt_len_segs_init() spowodowaną nieaktualnym
przesunięcie nagłówka transport_header po dekapsulacji tunelu.

BŁĄD: nie można obsłużyć błędu strony dla adresu: ffffed102091a42e
Ups: Ups: 0000 [#1] SMP KASAN NOPTI
Procesor: 0 UID: 0 PID: 340 Comm: qdisc_uaf_repro Nieskażony 7.2.0-rc4-00061-g248951ddc14d #256 PREEMPT (pełny)
Nazwa sprzętu: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 01.04.2014
RIP: 0010:__asan_load2
<przerwanie>
qdisc_pkt_len_segs_init (net/core/dev.c:4145)
__dev_queue_xmit (net/core/dev.c:4787)
br_dev_queue_push_xmit (net/bridge/br_forward.c:53)
br_handle_frame_finish (net/bridge/br_input.c:229)
br_handle_frame (net/bridge/br_input.c:315)
__netif_receive_skb_core.constprop.0 (net/core/dev.c:6099)
__netif_receive_skb_list_core (net/core/dev.c:6287)
netif_receive_skb_list_internal (net/core/dev.c:6445)
napi_complete_done (net/core/dev.c:6813)
gro_cell_poll (net/core/gro_cells.c:74)
__napi_poll (net/core/dev.c:7735)
net_rx_action (net/core/dev.c:7798 net/core/dev.c:7955)
handle_softirqs (jądro/softirq.c:622)
do_softirq (jądro/softirq.c:523 jądro/softirq.c:510 )
__local_bh_enable_ip (jądro/softirq.c:450)
tun_get_user (drivers/net/tun.c:1986 (wyróżnik 1))
tun_chr_write_iter (drivers/net/tun.c:2032)

Problem jest całkowicie ukryty, dopóki qdisc nie wczyta nagłówka transportowego
zatwierdzić 7fb4c1967011 („net: ściągnij nagłówki w qdisc_pkt_len_segs_init()”).
Do katastrofy wymagane są cztery warunki:

1. Pakiet przychodzący jest hermetyzowany i zawiera metadane GSO. Zewnętrzny
przesunięcie nagłówka transportu jest przechowywane w skb->transport_header, podczas gdy
pakiet nadal znajduje się w kontekście tunelu zewnętrznego.
2. Odbiornik tunelowy zdejmuje zewnętrzne nagłówki. skb->dane są zaawansowane do
wewnętrzną ramkę, ale skb->transport_header pozostaje wskazujący na
teraz usunięto zewnętrzny nagłówek L4, więc staje się on ujemnym przesunięciem w stosunku do
nowe dane.
3. Ramka wewnętrzna nie jest dostarczana do lokalnego stosu IP. Zamiast tego
jest przekazywany na L2 przez most lub HSR, więc ip_rcv_core() nigdy nie działa i
nagłówek transportowy nie jest resetowany do wewnętrznego przesunięcia L4.
4. Ścieżka przekazywania wywołuje funkcję __dev_queue_xmit(), która wchodzi
qdisc_pkt_len_segs_init(). Ta funkcja oblicza długość nagłówka GSO
z skb_transport_offset(skb). Ponieważ przesunięcie jest ujemne,
przepełnienia rzutowania bez znaku i pskb_may_pull(skb, hdr_len +
sizeof(struct tcphdr)) odczytuje koniec skb, wywołując a
Błąd KASAN lub błąd strony.

Problem szczególnie wymaga pakietów GSO (shinfo->gso_size != 0), które
są przetwarzane/agregowane przez gro_cells. Napraw to, usuwając
transport_header do wartownika ~0U w gro_cell dla wszystkich sterowników tuneli.
GTP nie obsługuje GRO/GSO, upuść złe pakiety GSO bezpośrednio w GTP.

>_ 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