Skip to main content

CVE-2026-15890: crypto in zephyrproject zephyr

0
Medium
VulnerabilityCVE-2026-15890cvecve-2026-15890
Published: 09/21/2026 (09/21/2026, 21:16:04 UTC)
Source: CVE Database V5
Vendor/Project: zephyrproject
Product: zephyr

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.

CVSS v3.1

Score 5.3medium

Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N

Affected software

zephyrproject

zephyr

Affected versions
>=4.0.0 <4.3.2>=4.4.0 <4.4.2
GitHub Actionsmore threats →cve
zephyr
pkg:github/zephyr
Affected versions
>=4.0.0 <4.3.2>=4.4.0 <4.4.2

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 09/21/2026, 21:47:05 UTC

Technical Analysis

The vulnerability arises from the default AEAD nonce provider in Zephyr's PSA Internal Trusted Storage transform module, which stores its nonce counter in unsynchronized static variables. Concurrent calls to the nonce provider can race, causing the same nonce value to be used for multiple encryption operations under the same key. Since the AEAD key is derived per entry UID, nonce reuse is only security-critical for concurrent writes to the same UID. This nonce reuse can leak the XOR of plaintexts and, for AES-GCM, expose the authentication key, enabling forgery of stored entries. Both ITS store back-ends use log-structured flash storage, so superseded entries remain physically present, making the nonce reuse exploitable if an adversary can read raw storage. The fix introduces a mutex to serialize nonce generation, preventing race conditions.

Potential Impact

The vulnerability can lead to catastrophic AEAD failures including plaintext leakage and authentication key exposure, which compromises confidentiality and integrity of stored secrets such as PSA persistent keys. Exploitation requires concurrent writes to the same UID and access to raw storage, making the attack vector narrow but severe for affected use cases.

Mitigation Recommendations

A fix is available that serializes nonce generation using a mutex to prevent race conditions. Users should upgrade to Zephyr versions 4.3.2 or later in the 4.0.x series, or 4.4.2 or later in the 4.4.x series, where this issue is resolved. No additional mitigation is required if the fix is applied.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
zephyr
Date Reserved
2026-07-15T17:38:06.560Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6ab1a26455bf5e2cf5800119

Added to database: 09/21/2026, 21:32:20 UTC

Last enriched: 09/21/2026, 21:47:05 UTC

Last updated: 09/21/2026, 23:56:12 UTC

Views: 6

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses