Podatność w sterowniku t7xx modułu WWAN jądra Linux powoduje dereferencję wskaźnika NULL (NULL pointer dereference) podczas obsługi zapytań napi rx poll. Może to prowadzić do paniki systemu (kernel panic), co czyni ją poważnym zagrożeniem dla stabilności i dostępności systemów korzystających z tego sterownika.
▸ Pokaż oryginał (EN)
In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: Fix napi rx poll issue When driver handles the napi rx polling requests, the netdev might have been released by the dellink logic triggered by the disconnect operation on user plane. However, in the logic of processing skb in polling, an invalid netdev is still being used, which causes a panic. BUG: kernel NULL pointer dereference, address: 00000000000000f1 Oops: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:dev_gro_receive+0x3a/0x620 [...] Call Trace: <IRQ> ? __die_body+0x68/0xb0 ? page_fault_oops+0x379/0x3e0 ? exc_page_fault+0x4f/0xa0 ? asm_exc_page_fault+0x22/0x30 ? __pfx_t7xx_ccmni_recv_skb+0x10/0x10 [mtk_t7xx (HASH:1400 7)] ? dev_gro_receive+0x3a/0x620 napi_gro_receive+0xad/0x170 t7xx_ccmni_recv_skb+0x48/0x70 [mtk_t7xx (HASH:1400 7)] t7xx_dpmaif_napi_rx_poll+0x590/0x800 [mtk_t7xx (HASH:1400 7)] net_rx_action+0x103/0x470 irq_exit_rcu+0x13a/0x310 sysvec_apic_timer_interrupt+0x56/0x90 </IRQ>
Podczas przetwarzania żądań napi rx polling sterownik może napotkać sytuację wyścigu (race condition): interfejs sieciowy (netdev) może zostać zwolniony przez operację dellink wyzwoloną rozłączeniem na płaszczyźnie użytkownika, zanim zakończy się przetwarzanie buforów sieciowych (skb) w trakcie pollingu. Sterownik kontynuuje jednak używanie wskaźnika do już zwolnionego obiektu netdev, co skutkuje dereferencją nieprawidłowego (NULL lub zwolnionego) wskaźnika. Efektem jest błąd kernel NULL pointer dereference pod adresem 0x00000000000000f1, wywołujący Oops i panikę systemu, jak wskazuje zamieszczony stack trace z funkcją dev_gro_receive.
Atakujący lub proces lokalny mogący wywołać odpowiednią sekwencję operacji sieciowych może doprowadzić do paniki jądra systemu Linux, skutkując odmową usługi (DoS) i niedostępnością systemu. Wysoki wynik CVSS 9.8 z wektorem sieciowym (AV:N) sugeruje również potencjalnie szerszy wpływ na poufność i integralność, zgodnie z metryką bazową.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawki zostały opublikowane w repozytorium kernel.org pod następującymi commitami: 66542e9430c6, 905fe0845bb2, cc89f457d913, e2df04e69c3f. Zaleca się aktualizację jądra do wersji zawierającej wskazane poprawki.
Jądro Linux (Linux Kernel) zawierające sterownik net/wwan/t7xx (moduł mtk_t7xx) — dokładne wersje wskazane w referencjach producenta (commity poprawek dostępne w repozytorium kernel.org).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux Kernel
OSLinux6.2 – 6.6.94 (bez)6.7 – 6.12.34 (bez)6.13 – 6.15.3 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
RCE przez YAML deserialization w IBM Aspera Faspex
RCE w VMware Workspace ONE Access i Identity Manager poprzez server-side template injection
Command Injection w VMware Workspace One Access i Identity Manager