Średni Odebrany

CVE-2026-19737

opublikowano:
modyfikacja:
Ocena CVSS
5.5
Średni · v3.1
wektor: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

i2s_esp32_trigger_check() w sterownikach/i2s/i2s_esp32.c sprawdza żądany kierunek tylko dla I2S_DIR_BOTH. Gałęzie I2S_DIR_RX i I2S_DIR_TX odczytują dev_cfg->rx.data->configured / dev_cfg->tx.data->configured bez uprzedniego sprawdzania wskaźników strumienia. Makro tworzenia instancji urządzenia I2S_ESP32_STREAM_INIT() ustawia zarówno .conf, jak i .data na NULL dla kierunku, którego nie opisuje drzewo urządzeń, więc w przypadku instancji, która łączy tylko jeden kierunek — normalny kształt wyjścia audio lub pasek LED worldsemi,ws2812-i2s — drugi kierunek powoduje wyłuskanie wskaźnika NULL zamiast zwracać błąd.

i2s_trigger() to wywołanie systemowe Zephyr, a z_vrfy_i2s_trigger() w sterownikach/i2s/i2s_handlers.c sprawdza tylko obiekt urządzenia i obecność wskaźnika API wyzwalacza; argument dir jest przekazywany do sterownika bez sprawdzenia poprawności. W kompilacji z włączoną funkcją CONFIG_USERSPACE wątek trybu użytkownika, któremu przyznano urządzenie I2S, może wykonać pojedyncze wywołanie i2s_trigger() podając nazwę kierunku nieokablowanego i spowodować obciążenie z adresu 0 w trybie jądra. Wśród części Espressif wyposażonych w ten sterownik przestrzeń użytkownika jest dostępna w drzewie tylko na układach SoC RISC-V z CONFIG_RISCV_PMP, a wersja 4.4.0 jest pierwszą wersją, w której można to zbudować: ESP32-C6 HPCORE wybiera RISCV_PMP, gdy nie jest zbudowany dla MCUboot. ESP32-C5 w wersji 4.4.x obsługuje tę samą obsługę linkera regionu PMP i przestrzeni użytkownika, ale domyślnie nie wybiera RISCV_PMP. Elementy docelowe Espressif Xtensa nie obsługują przestrzeni użytkownika Zephyr, a w przypadku kompilacji innej niż przestrzeń użytkownika zły kierunek może pochodzić jedynie z kodu aplikacji znajdującego się w jądrze.

Wpływ jest ograniczony do dostępności: dostęp polega na odczytaniu z przesunięciem 0 brakującej struktury strumienia, więc nie ma przesunięcia kontrolowanego przez osobę atakującą, nie ma prymitywnego zapisu ani nie ujawnia się informacji. W przypadku domyślnej procedury obsługi błędów krytycznych powstały wyjątek zatrzymuje system, powodując ogólnosystemową odmowę usługi dla nieuprzywilejowanego wątku trybu użytkownika. Poprawka dodaje tę samą kontrolę wskaźnika dla już wykonanej gałęzi I2S_DIR_BOTH i zwraca -ENOSYS dla kierunku, którego instancja nie implementuje; inne punkty wejścia sterownika (i2s_esp32_config_check(), i2s_esp32_config_get(), i2s_esp32_read(), i2s_esp32_write()) już strzegły wskaźników, a audyt statyczny nie znalazł równoważnej niestrzeżonej ścieżki.

Wada sterownika jest starsza niż zakres, którego dotyczy problem. Niestrzeżone dereferencje występują od wersji 4.2.0 (osiągane przez i2s_esp32_trigger_stream(), którego funkcja if (stream) sprawdza adres elementu członkowskiego struktury i nigdy nie jest fałszywa) i przyjmuje obecną formę i2s_esp32_trigger_check() w wersji 4.3.0. Żadna konfiguracja drzewa Espressif przed wersją 4.4.0 nie mogła uruchomić wątku trybu użytkownika, więc w wersjach 4.2.x i 4.3.x argument kierunku może pochodzić tylko z zaufanego kodu jądra. Te wydania zawierają błąd, ale nie są wymienione jako dotknięte; poprawka została również połączona z gałęzią v4.3 jako hartowanie.

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