Skip to main content

Zephyr RTOS CVE-2026-10646

| EUVDEUVD-2026-39980 HIGH
Use After Free (CWE-416)
2026-06-28 zephyr
7.4
CVSS 3.1 · Vendor: zephyr
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify Zephyr device performing DNS lookups
  2. Delivery
    Induce or await semaphore timeout and query retry
  3. Exploit
    Inject spoofed UDP DNS response with matching 16-bit id
  4. Execution
    Trigger dns_resolve_cb() against out-of-scope stack frame
  5. Persist
    Write through stale ai_state pointer
  6. Impact
    Crash or corrupt reused stack memory

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target application must call the BSD-sockets getaddrinfo() against an asynchronous DNS resolver, and the socket-layer semaphore wait must time out (-EAGAIN) so the pre-fix retry path ('goto again') executes - which the advisory states happens when the resolver's timeout work is delayed by workqueue contention, or in the documented configuration where CONFIG_NET_SOCKETS_DNS_TIMEOUT exceeds CONFIG_NET_SOCKETS_DNS_BACKOFF_INTERVAL (the multi-retry case). The attacker must then deliver a UDP DNS response whose 16-bit transaction id matches the orphaned query (spoofable/replayable by an on- or off-path attacker), or rely on the resolver's own delayed query-timeout work to fire. Limiting factors: exploitation hinges on winning this race window (hence CVSS AC:H), requires the device to actually be resolving names, and reliable memory corruption (versus a crash) is constrained by what reused stack data the attacker can influence; no authentication or user interaction is required (PR:N/UI:N).

Impact

The CVSS 3.1 vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H (7.4 High) is internally consistent with the description: the trigger is network-influenceable (AV:N), needs no authentication (PR:N) or user interaction (UI:N), but depends on a timing race - the semaphore wait must time out due to workqueue contention or a specific multi-retry timeout configuration, and the attacker must land a response with a matching 16-bit id - which justifies AC:H. Impact is correctly modeled as no confidentiality loss (C:N) but high integrity/availability (I:H/A:H) via stack memory corruption and DoS. No EPSS score, KEV listing, or public POC was provided, so real-world exploitation pressure appears low-to-unproven today; the practical risk is dominated by reliability/DoS on devices that perform DNS resolution, with reliable code-controlled memory corruption being substantially harder than the crash case. The honest priority read: a genuine network-influenceable bug worth patching on internet-exposed or hostile-network embedded devices, but the AC:H race and absence of exploitation signals make it a measured rather than emergency patch for most fleets. Missing data to note explicitly: no EPSS, no KEV, no confirmed patched release tag - only a fix commit and a GHSA advisory.

Exploit ScenarioDerived

An attacker on or off the network path observes or guesses that a Zephyr device is performing getaddrinfo() lookups and floods spoofed UDP DNS responses carrying matching 16-bit transaction ids while the device is under workqueue load or using the multi-retry timeout configuration. After the socket semaphore times out and the query is retried, a delayed callback fires against the freed stack frame and writes through the stale pointer, crashing the device or corrupting reused stack memory. No public exploit is identified at time of analysis, and CVSS AC:H reflects the timing/race precision required.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 28, 2026

Memory corruption and denial of service in Zephyr RTOS (v4.0.0 through v4.4.0) arises in the BSD-sockets getaddrinfo() implementation, where a timed-out DNS query is retried without cancelling the prior query, leaving a callback holding a pointer into a stack frame that goes out of scope after getaddrinfo() returns. A network-delivered DNS response matched by its spoofable 16-bit transaction id, or the resolver's own delayed timeout work, then writes through that stale pointer, enabling crashes or reused-stack corruption. There is no public exploit identified at time of analysis and the issue is not in CISA KEV; exploitation is gated by a timing/race window reflected in CVSS AC:H.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - apply Zephyr commit cd27da58eedb8d0fe380dd340b81ca5afa35de45 (referenced by advisory GHSA-h752-vhmf-29w6) or upgrade to the first tagged release after v4.4.0 that contains it once published. The fix cancels the timed-out query by name and type via the new dns_cancel_addr_info_with_name() helper and resets the local semaphore before retrying, removing the stale callback path. If you cannot patch immediately, reduce the chance of the retry/race by configuring CONFIG_NET_SOCKETS_DNS_TIMEOUT so it does not exceed CONFIG_NET_SOCKETS_DNS_BACKOFF_INTERVAL (avoiding the documented multi-retry path) and by relieving workqueue contention that delays the resolver's timeout work - trade-off: tighter timeouts can cause more legitimate lookups to fail on slow networks. Additionally, restrict DNS to a trusted resolver and filter/validate UDP DNS responses at the network boundary to limit an attacker's ability to inject spoofed responses, accepting that this does not close the off-path race entirely. Build and verify against the vendor advisory at https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-h752-vhmf-29w6.

Affected VersionsENISA

Zephyr 4.0.0 <4.5.0

Affected Packages

euvd zephyr fix: 4.5.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The defect is a CWE-416 use-after-free, more precisely a use-after-return: subsys/net/lib/sockets/getaddrinfo.c registers a pointer to a stack-allocated 'struct getaddrinfo_state ai_state' as the user_data for an asynchronous DNS resolver query and waits on a per-call semaphore. The socket layer sizes its semaphore timeout slightly longer than the resolver's per-query timeout to normally avoid cancellation, but if the semaphore still returns -EAGAIN, the pre-fix code executes 'goto again' to retry, overwriting ai_state->dns_id (so the old query can no longer be cancelled) without resetting the semaphore. The orphaned query remains active inside the DNS resolver subsystem; when a UDP DNS response is matched by transaction id in dispatcher_cb()/dns_read(), or the resolver's delayed query-timeout work fires, dns_resolve_cb() dereferences the now-invalid stack pointer and writes to state->status, state->idx, state->ai_arr[], and calls k_sem_give(). The affected product per CPE is cpe:2.3:a:zephyrproject:zephyr, the open-source real-time operating system and its native BSD-sockets/DNS networking stack.

Know when Zephyr gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (zephyr) PRIMARY 7.4 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 7.4 HIGH

Network-influenceable via spoofable DNS id (AV:N) needing no auth or interaction (PR:N/UI:N) but gated by a timeout/race window (AC:H); stack corruption gives I:H/A:H with no confidentiality impact (C:N).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (zephyr).

CVSS VectorVendor: zephyr

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

DescriptionCVE.org

Zephyr's BSD-sockets getaddrinfo() implementation (subsys/net/lib/sockets/getaddrinfo.c) passes a pointer to a stack-allocated state object (struct getaddrinfo_state ai_state) as the user_data of an asynchronous DNS resolver query. The socket layer waits on a semaphore with a timeout deliberately set slightly longer than the resolver's own per-query timeout. When that semaphore wait nonetheless times out (-EAGAIN) - which can occur when the resolver's timeout work is delayed by workqueue contention, or in the documented multi-retry configuration where CONFIG_NET_SOCKETS_DNS_TIMEOUT exceeds CONFIG_NET_SOCKETS_DNS_BACKOFF_INTERVAL - the pre-fix code retries the query (goto again) without cancelling the previous one and without resetting the semaphore. The previous query slot remains active in the resolver with its callback and the stack pointer as user_data, and ai_state-dns_id is overwritten so the stale query can no longer be cancelled. A subsequent DNS response delivered over UDP and matched by its 16-bit transaction id (in dispatcher_cb()/dns_read()), or the resolver's own delayed query-timeout work, then invokes dns_resolve_cb() against the now out-of-scope stack frame, writing through the stale pointer (state-status, state-idx, state-ai_arr[], and k_sem_give()). Because the triggering response is network-delivered and its 16-bit id is spoofable/replayable by an on- or off-path attacker, this is a network-influenceable use-after-return that can corrupt reused stack memory, leading to crashes/denial of service or memory corruption. The fix cancels the timed-out query by name and type before retrying and resets the local semaphore, eliminating the stale callback path. Affected: Zephyr v4.0.0 through v4.4.0.

Executive ViewAI

Why It Matters

Zephyr RTOS versions 4.0.0 through 4.4.0 contain a memory corruption vulnerability in DNS query handling that can cause denial of service or enable stack memory reuse attacks when processing network-delivered DNS responses. Organizations deploying these versions in IoT or embedded networked devices face risk to system availability and potential for privilege escalation or information disclosure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
popular open-source embedded RTOS, networked DNS stack in IoT deployments
Social Media
3
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +37
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Related Vulnerabilities in Zephyr RTOS Memory Safety and Audio Flaws

View all 3

More in Zephyr

View all
CVE-2023-4260 CRITICAL POC
10.0 Sep 27

Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),

CVE-2026-1678 CRITICAL POC
9.8 Mar 05

An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on

CVE-2023-5055 CRITICAL POC
9.8 Nov 21

Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit

CVE-2023-4257 CRITICAL POC
9.8 Oct 13

Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS

CVE-2023-3725 CRITICAL POC
9.8 Oct 06

Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner

CVE-2021-3323 CRITICAL POC
9.8 Oct 12

Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2021-3625 CRITICAL POC
9.8 Oct 05

Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable

CVE-2021-3319 CRITICAL POC
9.8 Oct 05

DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul

CVE-2018-1000800 CRITICAL POC
9.8 Sep 06

zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(

CVE-2023-4264 CRITICAL POC
9.6 Sep 27

Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul

CVE-2024-1638 CRITICAL POC
9.1 Feb 19

The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte

CVE-2023-5753 HIGH POC
8.8 Oct 25

Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy