Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-82390— Cross-session AES key confusion in the Espressif ESP32 hardware crypto driver

Quick assessment

Affected
zephyrproject zephyr
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Espressif 的 AES 驱动程序(位于 )对外宣称支持多会话密码 API:它最多可分配 (默认为 4)个独立会话,每个会话拥有自己的密钥和加解密方向。然而,AES 硬件外设仅有一组全局的密钥和模式寄存器。 函数仅在会话启动时、且处于用于序列化转换操作的 互斥锁之外,一次性对这些寄存器进行编程。随后,各操作处理函数( 、 和 )调用 时,直接使用寄存器中当前残留的密钥和方向,而该状态可能已被其他会话修改。 因此,一旦以不同密钥开启第二个会话,第一个会话的所有后续操作将静默地改用第二个会话的密钥和方向,且不会报

CVSS 3.7 · Low
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-82390

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Cross-session AES key confusion in the Espressif ESP32 hardware crypto driver
Source: CVE Program / CVE List V5
Vulnerability Description
The Espressif AES driver drivers/crypto/crypto_esp32_aes.c advertises a multi-session cipher API — it hands out up to CONFIG_ESP32_CRYPTO_AES_SESSIONS_MAX (default 4) independent sessions, each carrying its own key and direction. The AES peripheral, however, has a single chip-global set of key and mode registers, and aes_begin_session() programmed them exactly once, at session start, outside the aes_lock mutex that serialises the transforms. The per-operation handlers aes_ecb_op(), aes_cbc_op() and aes_ctr_op() then ran aes_hal_transform_block() against whatever key and direction the registers happened to hold. As a result, once a second session is opened with a different key, every subsequent operation on the first session silently uses the second session's key and direction, and no error is reported. Because the key programming happened outside the lock, the correct usage pattern of "each thread does begin, then op, then free on its own session" also races: a second thread's cipher_begin_session() landing between the first thread's begin and its operation makes that operation run under the second thread's key. An attacker who can induce session creation on the device — for example a protocol peer whose connection causes a session key to be installed — can influence which key is resident when a victim operation runs. The impact is a cryptographic failure rather than memory corruption: data the application believed it was protecting under one key is encrypted or decrypted under another. Where the resident key is one the attacker knows or supplied, the affected plaintext becomes recoverable by that attacker, and the operation's direction (encrypt versus decrypt) can likewise be inverted. Exposure requires an application that holds two or more concurrent sessions with different keys against this driver; no in-tree Zephyr subsystem does so today (the 802.15.4 security layer, which does open two sessions, uses CCM mode, which this driver rejects), so the risk falls on application code that uses the documented multi-session API. The fix removes all hardware access from aes_begin_session() and reprograms the key and direction at the top of every operation, inside aes_lock, so the chip-global registers can no longer be observed stale by another session.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
使用共享资源的并发执行不恰当同步问题(竞争条件)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
zephyrproject zephyr 4.3.0 ~ 4.4.2 -

II. Public POCs for CVE-2026-82390

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-82390

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-82390 (1)

Vendor Advisories for CVE-2026-82390 (1)

Same Patch Batch · zephyrproject · 2026-10-26 · 6 CVEs total

CVE-2026-81038 7.1 HIGH Bluetooth OTS server discloses uninitialized stack memory in failed Calculate Checksum res
CVE-2026-82389 6.5 MEDIUM Bluetooth Classic HFP AG wipes an object still linked in the SDP request list on connect f
CVE-2026-82388 5.3 MEDIUM Use of a released HFP HF object after a failed RFCOMM connect in the Bluetooth Classic hos
CVE-2026-81039 4.3 MEDIUM Bluetooth Host connection reservation leak when multiple connectable advertising sets shar
CVE-2026-19742 3.7 LOW IPv6 stable and temporary interface identifiers derived from a non-cryptographic PRNG secr

IV. Related Vulnerabilities