CVE-2026-78116
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Sterownik czujnika czasu przelotu Broadcom AFBR-S50 dwukrotnie wypełnia zgłoszenie RTIO, gdy ocena danych czujnika nie powiedzie się. W data_ready_work_handler() (drivers/sensor/broadcom/afbr_s50/afbr_s50.c) powrót inny niż STATUS_OK z Argus_EvaluateData() wywołuje handle_error_on_result(), co kończy żądanie za pomocą rtio_iodev_sqe_err(), ale wykonanie spadło do końca funkcji i sfinalizowało tę samą strukturę rtio_iodev_sqe po raz drugi za pomocą rtio_iodev_sqe_ok(). W przeciwieństwie do innych gałęzi błędów w tej samej funkcji, ta nie zwróciła.
Obydwa pomocnicy uzupełniania osiągają rtio_executor_done() w subsys/rtio/rtio_executor.c, co zwraca przesłane dane do puli za pomocą rtio_sqe_pool_free() i, w przypadku przesyłania strumieniowego (multishot), zwalnia także bufor RX za pomocą rtio_release_buffer(). Dlatego drugie zakończenie odczytuje zwolnione rtio_iodev_sqe, wypycha ten sam węzeł mpsc do kolejki przesyłania, gdy znajduje się już na liście wolnych puli — łącząc dwie listy razem — i ponownie przesyła zwolnione żądanie, tak aby następny pomiar został zapisany w już zwolnionym buforze. W przypadku zgłoszeń jednorazowych emituje fałszywy komunikat o pomyślnym zakończeniu, przenosząc nieaktualne dane użytkownika i dwukrotnie zwalnia ten sam wpis w puli.
Gałąź awarii jest sterowana stanem czujnika, a nie oprogramowaniem hosta. Interfejs API dostawcy dokumentuje statusy takie jak ERROR_ARGUS_BIAS_VOLTAGE_REINIT i ERROR_ARGUS_LASER_MONITOR_INACTIVE jako przejściowe skutki ostrego światła otoczenia, więc osoba znajdująca się przed czujnikiem optycznym może wywołać stan nieprawidłowych danych bez fizycznego kontaktu z płytą lub dostępu do oprogramowania; Błędy transferu SPI docierają do tej samej gałęzi. W wersjach poprzedzających ładunek. Porzucono kontrolę stanu, wystarczające były zwykłe ostre zmiany odległości w polu widzenia czujnika.
Skutkiem jest uszkodzenie puli zgłoszeń RTIO i księgowości puli pamięci: aliasy zgłoszeń, zapisy w zwolnionych buforach i zduplikowane uzupełnienia dostarczane do aplikacji. Osoba atakująca nie kontroluje uszkodzonej zawartości, zatem praktyczną konsekwencją jest uszkodzenie pamięci i utrata dostępności na urządzeniach, które zamiast ukierunkowanego wykonania kodu inicjują instancję brcm,afbr-s50. Dotyczy to tylko kompilacji obsługujących ten sterownik.
>_ 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