CVE-2026-82390
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Sterownik Espressif AES sterowniki/crypto/crypto_esp32_aes.c reklamuje wielosesyjny interfejs API szyfrowania — udostępnia maksymalnie CONFIG_ESP32_CRYPTO_AES_SESSIONS_MAX (domyślnie 4) niezależne sesje, każda niosąca własny klucz i kierunek. Jednakże urządzenie peryferyjne AES ma pojedynczy, globalny zestaw rejestrów kluczy i trybów, a funkcja aes_begin_session() zaprogramowała je dokładnie raz, na początku sesji, poza muteksem aes_lock, który serializuje transformacje. Następnie procedury obsługi operacji aes_ecb_op(), aes_cbc_op() i aes_ctr_op() uruchomiły aes_hal_transform_block() względem dowolnego klucza i kierunku, jaki akurat przechowywały rejestry.
W rezultacie po otwarciu drugiej sesji przy użyciu innego klucza każda kolejna operacja w pierwszej sesji po cichu korzysta z klucza i kierunku drugiej sesji i nie jest zgłaszany żaden błąd. Ponieważ programowanie klucza odbyło się poza blokadą, prawidłowy wzorzec użycia „każdy wątek się rozpoczyna, następnie wykonuje operację, a następnie zwalnia w swojej własnej sesji” również ulega pogorszeniu: lądowanie funkcji cipher_begin_session() drugiego wątku pomiędzy początkiem pierwszego wątku a jego operacją powoduje, że operacja ta jest wykonywana pod kluczem drugiego wątku. Osoba atakująca, która może wymusić utworzenie sesji na urządzeniu — na przykład uczestnik protokołu, którego połączenie powoduje zainstalowanie klucza sesji — może wpłynąć na to, który klucz będzie rezydentny po uruchomieniu operacji ofiary.
Skutkiem jest awaria kryptograficzna, a nie uszkodzenie pamięci: dane, które aplikacja uważała za chronione jednym kluczem, są szyfrowane lub deszyfrowane za pomocą innego. Jeżeli kluczem rezydentnym jest klucz znany lub dostarczony przez osobę atakującą, atakujący może odzyskać dotknięty tekst jawny, a kierunek operacji (szyfrowanie kontra deszyfrowanie) może również zostać odwrócony. Ekspozycja wymaga aplikacji, która utrzymuje dwie lub więcej równoczesnych sesji z różnymi kluczami w odniesieniu do tego sterownika; żaden podsystem Zephyr znajdujący się w drzewie obecnie tego nie robi (warstwa zabezpieczeń 802.15.4, która otwiera dwie sesje, korzysta z trybu CCM, który ten sterownik odrzuca), więc ryzyko spada na kod aplikacji korzystający z udokumentowanego wielosesyjnego API.
Poprawka usuwa cały dostęp sprzętowy z funkcji aes_begin_session() i przeprogramowuje klucz i kierunek na początku każdej operacji, wewnątrz aes_lock, dzięki czemu rejestry globalne chipa nie mogą już być obserwowane jako przestarzałe w innej sesji.
>_ 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