CVE-2026-82390 in Zephyrinfo

Zusammenfassung

von VulDB • 26.10.2026

Der Espressif AES-Treiber `drivers/crypto/crypto_esp32_aes.c` bewirbt eine Multi-Session-Cipher-API – er stellt bis zu `CONFIG_ESP32_CRYPTO_AES_SESSIONS_MAX` (Standardwert 4) unabhängige Sessions bereit, von denen jede ihren eigenen Schlüssel und ihre eigene Richtung trägt. Die AES-Hardware verfügt jedoch über einen einzelnen, chip-weiten Satz an Register für Schlüssel und Modus, und `aes_begin_session()` programmierte diese genau einmal zum Session-Start außerhalb des `aes_lock`-Mutexes, das die Transforms serialisiert. Die pro-Vorgang ausgeführten Handler `aes_ecb_op()`, `aes_cbc_op()` und `aes_ctr_op()` führten dann `aes_hal_transform_block()` gegen den Schlüssel und die Richtung aus, in denen sich die Register zufällig befanden.

Infolgedessen verwendet jeder nachfolgende Vorgang auf der ersten Session stillschweigend den Schlüssel und die Richtung der zweiten Session, sobald eine zweite Session mit einem anderen Schlüssel geöffnet wird, ohne dass ein Fehler gemeldet wird. Da das Programmieren des Schlüssels außerhalb des Locks erfolgte, läuft auch das korrekte Nutzungsmuster „jeder Thread führt begin, dann op, dann free für seine eigene Session aus“ einen Race Condition: Wenn die `cipher_begin_session()` eines zweiten Threads zwischen dem begin und der Operation des ersten Threads landet, wird dieser Vorgang unter dem Schlüssel des zweiten Threads ausgeführt. Ein Angreifer, der das Erzeugen von Sessions auf dem Gerät verursachen kann – beispielsweise ein Protokoll-Peer, dessen Verbindung dazu führt, dass ein Session-Schlüssel installiert wird –, kann beeinflussen, welcher Schlüssel resident ist, wenn ein Opfer-Vorgang ausgeführt wird.

Die Auswirkung ist ein kryptografisches Versagen statt einer Speicherkorruption: Daten, die die Anwendung unter einem bestimmten Schlüssel zu schützen glaubte, werden mit einem anderen Schlüssel verschlüsselt oder entschlüsselt. Wenn der residente Schlüssel einer ist, den der Angreifer kennt oder bereitgestellt hat, wird der betroffene Klartext für diesen Angreifer wiederherstellbar, und auch die Richtung des Vorgangs (Verschlüsselung versus Entschlüsselung) kann umgekehrt werden. Eine Exposition erfordert eine Anwendung, die zwei oder mehr gleichzeitige Sessions mit unterschiedlichen Schlüsseln gegenüber diesem Treiber hält; kein im Zephyr-Quellbaum enthaltenes Subsystem tut dies derzeit (die 802.15.4-Sicherheitsschicht, die zwar zwei Sessions öffnet, verwendet den CCM-Modus, der von diesem Treiber abgelehnt wird), sodass das Risiko auf Anwendungscode fällt, der die dokumentierte Multi-Session-API nutzt.

Die Korrektur entfernt jeglichen Hardwarezugriff aus `aes_begin_session()` und programmiert Schlüssel und Richtung an jedem Vorgangsanfang erneut innerhalb des `aes_lock`, sodass die chip-weiten Register nicht mehr von einer anderen Session als veraltet beobachtet werden können.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Zuständig

Zephyr

Reservieren

28.08.2026

Veröffentlichung

26.10.2026

Moderieren

akzeptiert

Eintrag

VDB-426528

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Do you need the next level of professionalism?

Upgrade your account now!