Skip to main content
EPSS 0.5%top 59%

CVE-2026-12233: dos in zephyrproject zephyr

0
Medium
VulnerabilityCVE-2026-12233cvecve-2026-12233
Published: 08/12/2026 (08/12/2026, 03:54:38 UTC)
Source: CVE Database V5
Vendor/Project: zephyrproject
Product: zephyr

Description

The PSA Protected Storage credential backend (subsys/net/lib/tls_credentials/tls_credentials_trusted.c) declared its credential-store mutex as a plain zero-filled static struct k_mutex credential_lock; and never called k_mutex_init() on it. A statically zero-filled k_mutex has an uninitialized wait queue (its dlist head/tail are NULL instead of the self-referential sentinels that k_mutex_init/K_MUTEX_DEFINE install). The uncontended lock path does not touch the wait queue, so the defect is latent and serialized use behaves correctly. When two execution contexts contend on the lock, k_mutex_lock() pends the blocking thread on the wait queue via z_pend_curr(), which calls sys_dlist_append() on the zeroed list and dereferences a NULL tail pointer (tail->next = node), faulting the kernel. The lock is held during TLS handshake credential loading and by all credential add/get/delete operations, so a deployment performing concurrent TLS handshakes (for example a server handling multiple simultaneous connections from a remote peer) or a credential-management operation concurrent with a handshake can trigger the dereference. The impact is a denial of service: a deterministic kernel panic / device reset on the first contention. There is no memory corruption beyond the NULL dereference and no confidentiality or integrity impact; mutual exclusion on the fast path remains correct. Exposure is limited to builds with CONFIG_TLS_CREDENTIALS_BACKEND_PROTECTED_STORAGE enabled (PSA Protected Storage / TF-M platforms); the default volatile RAM backend initializes its lock correctly and is unaffected. The fix initializes the mutex statically with K_MUTEX_DEFINE(credential_lock), providing a valid wait queue so the contended path no longer touches a NULL list.

CVSS v3.1

Score 5.9medium

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

Affected software

zephyrproject

zephyr

Affected versions
>=3.2.0 <4.4.2
GitHub Actionsmore threats →cve
zephyr
pkg:github/zephyr
Affected versions
>=3.2.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: 08/12/2026, 04:45:40 UTC

Technical Analysis

The PSA Protected Storage credential backend in Zephyr (subsys/net/lib/tls_credentials/tls_credentials_trusted.c) declares a static mutex (credential_lock) without calling k_mutex_init(), resulting in an uninitialized wait queue. When two execution contexts contend on this mutex, the kernel attempts to append to a NULL wait queue, causing a NULL pointer dereference and kernel panic. This occurs during TLS handshake credential loading or concurrent credential operations, leading to a denial of service via device reset. The issue affects builds with CONFIG_TLS_CREDENTIALS_BACKEND_PROTECTED_STORAGE enabled and versions =3.2.0 and >=3.2.0 <4.4.2. The default volatile RAM backend is unaffected. The vulnerability does not affect confidentiality or integrity. The fix is to statically initialize the mutex with K_MUTEX_DEFINE, ensuring a valid wait queue and preventing the fault.

Potential Impact

The vulnerability causes a deterministic denial of service by triggering a kernel panic and device reset when multiple threads contend on the uninitialized mutex during TLS credential operations. There is no memory corruption or impact on confidentiality or integrity. The availability of affected devices is compromised under concurrent TLS handshake or credential management scenarios.

Mitigation Recommendations

Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix involves initializing the mutex statically with K_MUTEX_DEFINE to prevent the NULL pointer dereference. Until an official fix is applied, avoid configurations enabling CONFIG_TLS_CREDENTIALS_BACKEND_PROTECTED_STORAGE in concurrent TLS handshake scenarios to reduce exposure.

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-06-15T01:56:02.937Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6a7bf613bf8831d539f5185c

Added to database: 08/12/2026, 04:26:59 UTC

Last enriched: 08/12/2026, 04:45:40 UTC

Last updated: 09/24/2026, 13:47:42 UTC

Views: 66

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