Zephyr Project bis 4.3.1/4.4.1 PSA Internal Trusted Storage transform module aead_get.c secure_storage_its_transform_aead_get_nonce Race Condition

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
5.2$0-$5k0.00+

Zusammenfassunginfo

Es wurde eine Schwachstelle in Zephyr Project Zephyr bis 4.3.1/4.4.1 entdeckt. Sie wurde als problematisch eingestuft. Dabei geht es um die Funktion secure_storage_its_transform_aead_get_nonce der Datei subsys/secure_storage/src/its/transform/aead_get.c der Komponente PSA Internal Trusted Storage transform module. Die Manipulation führt zu Race Condition. Diese Sicherheitslücke ist unter CVE-2026-15890 bekannt. Der Angriff muss lokal passieren. Es steht kein Exploit zur Verfügung. Es wird geraten, die betroffene Komponente zu aktualisieren.

Detailsinfo

Es wurde eine Schwachstelle in Zephyr Project Zephyr bis 4.3.1/4.4.1 gefunden. Sie wurde als problematisch eingestuft. Hiervon betroffen ist die Funktion secure_storage_its_transform_aead_get_nonce der Datei subsys/secure_storage/src/its/transform/aead_get.c der Komponente PSA Internal Trusted Storage transform module. Durch Manipulieren mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-362 vorgenommen. Dies wirkt sich aus auf Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:

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.

Auf github.com kann das Advisory eingesehen werden. Die Verwundbarkeit wird seit dem 15.07.2026 unter CVE-2026-15890 geführt. Sie ist leicht auszunutzen. Der Angriff hat dabei lokal zu erfolgen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt.

Ein Upgrade auf die Version 4.3.2 oder 4.4.2 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches dc66397309248271df1fd0131d68ce8ea62bf91b beheben. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Produktinfo

Typ

Hersteller

Name

Version

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 5.3
VulDB Meta Temp Score: 5.2

VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CNA Base Score: 5.3
CNA Vector (zephyr): 🔒

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Race Condition
CWE: CWE-362
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Teilweise
Lokal: Ja
Remote: Nein

Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Zephyr 4.3.2/4.4.2
Patch: dc66397309248271df1fd0131d68ce8ea62bf91b

Timelineinfo

15.07.2026 CVE zugewiesen
21.09.2026 +68 Tage Advisory veröffentlicht
21.09.2026 +0 Tage VulDB Eintrag erstellt
21.09.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Advisory: github.com
Status: Bestätigt

CVE: CVE-2026-15890 (🔒)
GCVE (CVE): GCVE-0-2026-15890
GCVE (VulDB): GCVE-100-408306

Eintraginfo

Erstellt: 21.09.2026 23:42
Anpassungen: 21.09.2026 23:42 (68)
Komplett: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!