目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-15890— Zephyr secure_storage ITS 非线程同步致 AEAD 重用

一分钟漏洞结论

影响对象
zephyrproject zephyr
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

以下是该漏洞描述的中文翻译: PSA 内部可信存储(ITS)转换模块中默认的 AEAD 随机数(nonce)提供函数 (位于 )将随机数计数器存储在未同步的函数局部静态变量( 和 )中。每次 ITS 写入操作都会通过 函数在此处获取 AES-GCM 或 ChaCha20-Poly1305 所需的随机数。 由于该函数未持有任何锁,当两个线程并发调用时,会在共享的静态变量上产生竞态条件:初始化路径(执行 后执行 )以及非原子性的“先自增后复制”路径,都可能将相同的随机数值提供给两个不同的加密操作,并且可能丢失自增操作,

CVSS 5.3 · Medium EPSS 0.08% · P0

可能的 ATT&CK 技术 1 AI

T1562.008

影响版本矩阵 1

厂商产品 版本范围状态
zephyrproject zephyr 4.0.0< 4.4.2 affected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-15890 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
AEAD nonce reuse in Zephyr secure_storage ITS default nonce provider due to missing thread synchronization
来源: CVE Program / CVE List V5
Vulnerability Description
The default AEAD nonce provider for the PSA Internal Trusted Storage transform module, secure_storage_its_transform_aead_get_nonce() in subsys/secure_storage/src/its/transform/aead_get.c, stores its nonce counter in unsynchronized function-local static variables (s_nonce and s_nonce_initialized). Every ITS write obtains its AES-GCM or ChaCha20-Poly1305 nonce here via secure_storage_its_transform_to_store(). Because the function held no lock, two threads calling it concurrently race on the shared statics: the initialization path (psa_generate_random() followed by memcpy()) and the non-atomic increment-then-copy path can each hand the same nonce value to two distinct encryption operations, and can lose increments so the counter repeats values it was designed never to repeat. The ITS layer (secure_storage_its_set() in subsys/secure_storage/src/its/implementation.c) performs no serialization of its own, so concurrent same-UID writes reach the racy provider directly. Reusing a nonce with the same key under AES-GCM or ChaCha20-Poly1305 is a catastrophic AEAD failure: it leaks the XOR of the two plaintexts (ITS routinely stores secrets, including PSA persistent keys) and, for GCM, exposes the authentication key, enabling forgery of stored entries. Because the AEAD key is derived per entry UID, the security-relevant collision is two concurrent writes to the same UID both receiving the same nonce; an adversary able to read the raw backing storage can then exploit the reuse. Both ITS store back-ends shipped with Zephyr, zms.c and the settings/NVS back-end in settings.c, are log-structured flash stores with deferred garbage collection, so an entry superseded by a rewrite remains physically present in the partition until its sector is reclaimed. Two same-UID writes that race therefore leave both ciphertexts readable in the raw image at once, which is the condition the nonce reuse needs to be exploitable. The trigger remains narrow: both built-in key providers (DEVICE_ID_HASH and ENTRY_UID_HASH) salt the derived key with the entry UID, so reuse across different UIDs is harmless, and the exposure requires an application that writes the same UID concurrently from two threads. The fix serializes the provider with a K_MUTEX_DEFINE(s_nonce_mutex) held for the duration of nonce generation.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N
来源: CVE Program / CVE List V5
Vulnerability Type
在加密中重用Nonce与密钥对
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
zephyrproject zephyr 4.0.0 ~ 4.4.2 -

二、漏洞 CVE-2026-15890 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-15890 的情报信息

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

CVE-2026-15890 补丁与修复 (1)

CVE-2026-15890 其他参考 (1)

同批安全公告 · zephyrproject · 2026-09-21 · 共 5 条

CVE-2026-17052 7.8 HIGH Tgpio_pin_read_ts_ec 用户指针校验缺失导致内存写
CVE-2026-17051 6.0 MEDIUM Intel SEDI IPM驱动越界写入漏洞
CVE-2026-17050 5.7 MEDIUM USB主机设备枚举失败双释放漏洞
CVE-2026-17054 5.3 MEDIUM ESP SPI驱动帧重组越界读取致WiFi失效

IV. Related Vulnerabilities