CVE-2026-16148
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Sterownik kontrolera urządzeń USB ITE it82xx2 zainicjował wykrywanie zawieszenia magistrali za pomocą k_work_init_delayable(&priv->suspended_work, zawieszony_handler) wewnątrz it82xx2_enable() (opcja .enable sterownika) w sterownikach/usb/udc/udc_it82xx2.c. Ten element pracy jest planowany zasadniczo w sposób ciągły, gdy magistrala USB jest aktywna: procedura obsługi przerwań zmienia harmonogram go w każdej ramce SOF, a zawieszona_handler() sama zmienia harmonogram, więc jego węzeł limitu czasu jest zwykle połączony na liście limitów czasu jądra/kolejce oczekującej kolejki roboczej.
k_work_init_delayable() (kernel/work.c) bezwarunkowo zastępuje całą strukturę k_work_delayable, łącznie z jej przekroczeniem limitu czasu i powiązaniem kolejki, bez sprawdzania zajętości. Ponieważ it82xx2_disable() nie anuluje pracy, normalny cykl wyłącz-potem-włącz ponownie uruchamia funkcję api->enable() (udc_enable() odrzuca tylko nadmiarowe włączenie, a nie ponowne włączenie po wyłączeniu) i ponownie inicjuje wciąż oczekującą pracę w miejscu, uszkadzając listy połączone z limitem czasu jądra/kolejką roboczą i powodując panikę jądra.
Zewnętrzny host USB — na przykład host wykonujący odłączenie USB DFU (dfu-util --detach) lub wymuszający wielokrotne podłączanie/resetowanie/ponowne wyliczenie — steruje przejściami udc_disable()/udc_enable() i steruje czasem zawieszania/wznowienia, dzięki czemu może zorganizować oczekiwanie na zawieszenie po ponownym włączeniu. Prowadzi to do nieuwierzytelnionej odmowy usługi (paniki jądra) osiągalnej przez granicę USB z wymiennego, fizycznie podłączonego hosta, bez wykazania wpływu na poufność i integralność.
Poprawka przenosi wywołanie k_work_init_delayable() do jednorazowej funkcji preinit, dzięki czemu praca jest inicjowana dokładnie raz, eliminując ponowną inicjalizację używanego elementu.
>_ Słabości (CWE)
>_ 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