CVE-2026-90018
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
inscenizacja: rtl8723bs: napraw przepełnienie OOB odczytu/stosu w rtw_get_wps_attr()
rtw_get_wps_attr() przenosi atrybuty WPS do pobranego z WPS IE
bezprzewodową ramkę zarządzającą. Dla każdego kandydata przypisz tylko to
sprawdza, czy stały 4-bajtowy nagłówek atrybutu (2-bajtowy identyfikator + 2-bajtowy
długość) mieści się w IE:
if (attr_ptr + 4 > wps_ie + wps_ielen)
przerwa;
u16 attr_id = get_unaligned_be16(attr_ptr);
u16 attr_data_len = get_unaligned_be16(attr_ptr + 2);
u16 attr_len = attr_data_len + 4;
attr_data_len (a zatem attr_len) jest odczytywany bezpośrednio z pliku
wire i nigdy nie jest sprawdzany pod kątem pozostałych bajtów w IE
przed użyciem jako rozmiar:
memcpy(buf_attr, attr_ptr, attr_len);
Ponieważ attr_len jest w pełni kontrolowany przez atakującego (0 do 65535+4), tak jest
zarówno odczyt OOB sterty wps_ie, jak i, co ważniejsze, bufor stosu
przepełnienie w kilku witrynach wywołań, gdzie buf_attr jest jednobajtowy
zmienna stosu, np. Przechodzą osoby wywołujące rtw_get_wps_attr_content().
WPS_ATTR_SELECTED_REGISTRAR do stosu „u8 sr”/”u8
wybrany_rejestrator” (drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c,
sterowniki/staging/rtl8723bs/core/rtw_mlme_ext.c). Stworzony WPS IE w formacie
Może zatem zostać przetworzona odpowiedź sygnalizatora lub sondy przetworzona podczas skanowania
rozbij stos wątku analizującego.
Funkcja rtw_get_wps_attr_content() sama w sobie nie sprawdza długości
i po prostu ufa attr_len, który otrzymuje z rtw_get_wps_attr(),
więc naprawienie tutaj powiązania naprawia również tego wywołującego.
Dodano powyższą kontrolę nagłówka „attr_ptr + 4 > wps_ie + wps_ielen”
przez zatwierdzenie 1463ca3ec6601 („staging: rtl8723bs: napraw odczyt OOB
rtw_get_sec_ie(), rtw_get_wapi_ie() i rtw_get_wps_attr()”), które
ograniczył stały nagłówek, ale nigdy nie rozszerzył kontroli, aby objąć
następujące po nim dane atrybutów o zmiennej długości. Dodaj to, czego brakuje
sprawdź, zanim attr_len zostanie użyty jako długość memcpy() lub zaakceptowany jako
mecz.
>_ Referencje
- https://git.kernel.org/stable/c/34f51d196c43a42046d229de5e79025d5ca553ca
- https://git.kernel.org/stable/c/3a6457ebf39080b87c712657fdb38f34a24fc3ff
- https://git.kernel.org/stable/c/931640dfcb8cfa08f6cfb46229716d8072356420
- https://git.kernel.org/stable/c/99aa998dec83ba180822f70e6d48a514fc81c20d
- https://git.kernel.org/stable/c/a53d1ac9ce63db07943b2b2248111003851fb00f
- https://git.kernel.org/stable/c/fd5e24ea8373347d0352f153a66e8647337d1b10
- https://git.kernel.org/stable/c/ff61aa3289355dafa811550a1764691cd1f5d33b
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