Odebrany

CVE-2026-98406

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

Wi-Fi: mac80211: unikaj WARN w set_bitrate_mask, gdy sdata nie ma w sterowniku

ieee80211_set_bitrate_mask() sprawdza, czy interfejs działa przez
ieee80211_sdata_running(), ale nie sprawdza, czy interfejs jest
nadal obecny w sterowniku.

Gdy sdata jest uruchomione, ale nie ustawiono IEEE80211_SDATA_IN_DRIVER,
wywołanie osiąga drv_set_bitrate_mask() w sterowniku-ops.h, co powoduje trafienie

wlan1: Nieudane sprawdzanie danych w sterowniku, flagi: 0x0
OSTRZEŻENIE: net/mac80211/driver-ops.h:884 w drv_set_bitrate_mask

Syzkaller wyzwala to poprzez wext SIOCSIWRATE ioctl. Pojawi się śledzenie połączeń
wext_ioctl_dispatch() w wext-core.c wywołując ioctl, wywołując
ioctl_standard_call() dla SIOCSIWRATE, która wywołuje cfg80211_wext_siwrate()
w wext-compat.c. To buduje maskę bitrate i wywołuje
rdev_set_bitrate_mask(), która kończy się na ieee80211_set_bitrate_mask() w
cfg.c. Interfejs jest oznaczony jako działający poprzez SDATA_STATE_RUNNING, ale
flags wynosi 0, więc funkcja check_sdata_in_driver() kończy się niepowodzeniem.

Kiedy interfejs jest niszczony lub kiedy zostaje wydane wext ioctl
podczas wywoływania interfejsu, zanim drv_add_interface() ustawi IN_DRIVER, plik
uruchamianie kontroli przebiega pomyślnie, gdy IN_DRIVER jest czysty.

Sprawdź wcześniej IEEE80211_SDATA_IN_DRIVER w ieee80211_set_bitrate_mask()
wywołanie sterownika, zwrócenie -ENETDOWN. Pozwala to uniknąć WARN_ONCE in
Driver-ops.h i dopasowuje inne operacje cfg.c, które kończą się wcześniej, jeśli nie
w sterowniku.

Ta zmiana powinna być bezpieczna, ponieważ utrzymywany jest wiphy mutex
cfg80211_wext_siwrate() poprzez Guard(wiphy), a IN_DRIVER jest ustawione/wyczyszczone
w ścieżkach RTNL i Wiphy w drv_add_interface() i
drv_remove_interface() w Driver-ops.c, więc sprawdzenie jest wolne od wyścigów
względem dodawania/usuwania sterownika. Powrót -ENETDOWN jest tym samym błędem, co inny
niedziałające ścieżki używają i nie wprowadzają nowego blokowania.

[dodaj także drugi raport syzbota]

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