CVE-2026-98307
NieznaneStreszczenie
W jądrze Linux w sterowniku wifi ath11k wykryto wyciek pamięci. Gdy firmware ulega awarii, funkcja ath11k_mac_peer_cleanup_all() nie zwalniała zasobów arsta->rx_stats i tx_stats, co prowadziło do wycieków pamięci jądra (kmemleak). Poprawka wydziela czyszczenie arsta do nowej funkcji ath11k_mac_station_cleanup() i wywołuje ją w obu miejscach.
Ocena ryzyka
Wyciek pamięci jądra powoduje stopniowe zużywanie pamięci systemowej, co w dłuższej perspektywie może prowadzić do degradacji wydajności, a w skrajnych przypadkach do wyczerpania pamięci i niestabilności systemu. Problem występuje szczególnie na urządzeniach z kartami Wi-Fi opartymi na ath11k, np. QCN9074.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę dla CVE-2026-98307. Jeśli aktualizacja nie jest możliwa, rozważ ograniczenie ekspozycji urządzeń z kartami ath11k lub monitorowanie zużycia pamięci jądra.
Inne podatności w Linux kernel ath11k
Zobacz wszystkie- CVE-2026-90407Wysokie
W jądrze Linux sterownik wifi ath11k nie egzekwuje minimalnej długości struktury zdarzenia WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT, a pole num_vdevs pochodzące z firmware jest używane jako granica pętli bez walidacji. Może to prowadzić do odczytu poza granicami bufora. Poprawka dodaje wpis polityki TLV oraz funkcję pomocniczą ograniczającą num_vdevs.
- CVE-2022-49130Średnie
W jądrze Linux w sterowniku ath11k dla kart Wi-Fi Qualcomm wykryto podatność powodującą awarię systemu (crash) podczas usuwania modułu ath11k_pci, gdy brakuje pliku amss.bin. Problem wynika z użycia funkcji mhi_async_power_up(), która nie sprawdza błędów, zamiast bezpieczniejszej mhi_sync_power_up().
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: cleanup arsta in ath11k_mac_peer_cleanup_all() When mac80211 removes a sta, it calls .sta_state() which in turn calls ath11k_mac_station_remove(). In that function we clean up both peers & arsta related resources. But when the firmware crashes, ath11k calls ieee80211_restart_hw(), which assumes that all driver related resources are cleaned up beforehand. This cleanup is supposedly done by ath11k_mac_peer_cleanup_all() but does not in fact free arsta->rx_stats / tx_stats. Extract the arsta cleanup from ath11k_mac_station_remove() into a new ath11k_mac_station_cleanup() and call it from both there and ath11k_mac_peer_cleanup_all(). This should handle kmemleaks reports like: unreferenced object 0xffffff801ae66400 (size 1024): comm "hostapd", pid 1306, jiffies 4295011565 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc d61c08ec): kmemleak_alloc+0x3c/0x50 __kmalloc_cache_noprof+0x2b0/0x3e0 ath11k_mac_op_sta_state+0x1dc/0xb10 drv_sta_state+0xac/0x6f8 sta_info_insert_rcu+0x314/0x5e0 sta_info_insert+0x14/0x38 ieee80211_add_station+0x10c/0x1a0 nl80211_new_station+0x3e8/0x680 genl_family_rcv_msg_doit+0xc0/0x120 genl_rcv_msg+0x1b4/0x258 netlink_rcv_skb+0x4c/0x108 genl_rcv+0x38/0x60 netlink_unicast+0x190/0x278 netlink_sendmsg+0x15c/0x370 ____sys_sendmsg+0x120/0x290 ___sys_sendmsg+0x70/0xa0 Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

