Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain host-side ISH driver or raw BAR access
-
DeliveryWrite doorbell length field >128 (up to 1023)
-
ExploitTrigger inbound IPM interrupt in ipm_event_dispose()
-
Executionsedi_ipc_read_msg copies past 128-byte .bss buffer
-
PersistClobber ipm_sedi_context k_sem/k_mutex and adjacent static data
-
ImpactKernel data-structure corruption and crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
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 | Requires an intel_ish_5_* (or equivalent SEDI IPM) Zephyr target where an application has registered an IPM receive callback via ipm_register_callback() - the driver's normal mode of use - AND host-side software possessing ISH driver-level or raw BAR access to the device's memory-mapped register window, from which the peer-written doorbell register can be set. Exploitation further depends on a production image built WITHOUT CONFIG_DEBUG, since the underlying HAL sedi_ipc_read_msg() bounds check is a DBG_CHECK that compiles away otherwise. Limiting factors: local attack vector (no network reach), high privilege on the host side (driver/raw BAR access), and the platform-specific SEDI IPM driver being compiled in - this is not remotely reachable and not present in default non-Intel-ISH Zephyr builds. |
| Impact | This is a moderate, defense-in-depth-relevant flaw rather than an urgent internet-facing emergency. The vendor CVSS 3.1 vector (AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H = 6.0) is internally consistent with the description: the doorbell register is reached only through the device's memory-mapped BAR window, so the attacker must already be host-side software with driver-level or raw BAR access (AV:L, PR:H). No EPSS score, no CISA KEV entry, and no public exploit are present in the input - so exploitation status is 'no public exploit identified at time of analysis.' The impact is genuine (I:H/A:H): an interrupt-context out-of-bounds write of up to 895 bytes into .bss that corrupts kernel synchronization primitives, but the description frames the outcome as a 'kernel data-structure corruption and crash primitive' - i.e., a demonstrated DoS/integrity primitive, not confirmed arbitrary code execution, which is why C:N is appropriate. Note one debatable point to verify with the vendor: because the attacker on the host CPU crosses a trust boundary into the separate ISH co-processor running Zephyr, a Scope-changed (S:C) reading is arguable, though impact remains confined to the ISH so S:U is defensible. Overall: real bug, patch available, but the PR:H/AV:L gating and absence of any exploitation signal put it below internet-facing critical issues in priority. |
| Exploit ScenarioDerived | On an intel_ish_5_* platform where a Zephyr application has registered an IPM receive callback (the driver's normal mode), a host-side actor with ISH driver or raw BAR access writes a doorbell register encoding a payload length larger than 128 (up to the 10-bit maximum of 1023). When the inbound-message interrupt fires, ipm_event_dispose() copies that oversized length into the 128-byte incoming_data_buf, overflowing up to 895 bytes into adjacent static memory and corrupting the k_sem/k_mutex used by the transmit path, crashing or corrupting the ISH kernel. No public exploit code is identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
An out-of-bounds write of up to 895 bytes into static (.bss) memory can be triggered in Zephyr RTOS's Intel SEDI IPM driver (drivers/ipm/ipm_sedi.c) when the peer processor sets a doorbell payload length larger than the 128-byte incoming_data_buf. The vulnerable path is reachable when an application has registered an IPM receive callback via ipm_register_callback(), the driver's normal mode of use, and requires a local, highly privileged attacker (CVSS PR:H) with host-side ISH driver-level or raw BAR access to the device's memory-mapped register window, plus a production image built without CONFIG_DEBUG so the HAL's DBG_CHECK length guard is compiled away. The result is kernel data-structure corruption and a crash primitive - the overflow clobbers the driver context's k_sem and k_mutex and adjacent static data - but the flaw is platform-specific and locally scoped, so it is a moderate, defense-in-depth-relevant issue rather than an urgent internet-facing emergency; no public exploit identified at time of analysis, and an upstream fix commit is available.
RemediationAI
Upstream fix available (commit 74c7d27925055e8c3c8aef7a9f16cae6a8c64b70, referenced by vendor advisory GHSA-78p3-4gv3-qjh9); apply that commit or update to the Zephyr release that carries it - a patched tagged release version is not independently confirmed from the available data, so verify against the advisory before relying on a version number. The fix adds an explicit 'len <= IPC_DATA_LEN_MAX' guard in ipm_event_dispose(), logs the invalid DRBL value and sends an ack so the peer is not left waiting; no behavioral change is expected for legitimate messages at or below 128 bytes. If the patch cannot be applied immediately, enabling CONFIG_DEBUG keeps the HAL DBG_CHECK bounds check active as a compensating control, at the cost of added debug overhead and log noise in production images. Because the vulnerability is reachable only from host-side software with ISH driver-level or raw BAR access, restricting that access (blocking untrusted or less-privileged host software from mapping the ISH register window, or not registering an IPM receive callback unless the mailbox is actually required) removes the attack path, with the trade-off that it disables normal IPM receive functionality. There is no network-facing mitigation to apply, since the vector is local (AV:L) and requires high privileges (PR:H).
Affected VersionsENISA
Affected Packages
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 Intel SEDI IPM driver implements an inter-processor mailbox over a shared IPC link: the peer writes a doorbell register, the local side takes an inbound message interrupt, and ipm_event_dispose() extracts the payload length from the doorbell with IPC_HEADER_GET_LENGTH(). That length field is 10 bits wide (IPC_HEADER_LENGTH_MASK 0x03FF) and can therefore encode values up to 1023, while the destination buffer struct ipm_sedi_context.incoming_data_buf is only IPC_DATA_LEN_MAX (128) bytes. The length was passed unchecked to sedi_ipc_read_msg(), whose only guard is a DBG_CHECK that is compiled out unless CONFIG_DEBUG is set, leaving no effective bound in a production image. This is CWE-787 (out-of-bounds write): up to 895 bytes are written past the buffer in interrupt context, first corrupting the remainder of struct ipm_sedi_context - including the k_sem and k_mutex used by the transmit path, whose wait queues hold self-referential list pointers - and then adjacent static data. The overflowing bytes are read from registers following the message window, a portion of which are themselves peer-programmable. For intel_ish_5_* targets the doorbell is written by the host CPU's ISH driver through the device's memory-mapped register window, which is why the assessed vector is AV:L with PR:H rather than remote. The upstream fix rejects any doorbell whose encoded length exceeds IPC_DATA_LEN_MAX, logs the invalid value, and still acknowledges the doorbell so the peer is not left waiting.
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
AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H
Reachable only via local host-side driver/raw-BAR access (AV:L, PR:H); no data disclosure (C:N) but reliable OOB write corrupts kernel structures and crashes the ISH (I:H/A:H).
Primary rating from Vendor (zephyr).
CVSS VectorVendor: zephyr
DescriptionCVE.org
The Intel SEDI IPM (inter-processor mailbox) driver in drivers/ipm/ipm_sedi.c handles an inbound message interrupt in ipm_event_dispose(). It read the peer-written doorbell register, extracted the payload length with IPC_HEADER_GET_LENGTH(), and passed that length straight to sedi_ipc_read_msg() to copy the message into struct ipm_sedi_context.incoming_data_buf, without checking it against the buffer size. The doorbell length field is 10 bits wide (IPC_HEADER_LENGTH_MASK is 0x03FF), so it can encode up to 1023 bytes, while incoming_data_buf is IPC_DATA_LEN_MAX (128) bytes. The bounds check in the underlying HAL sedi_ipc_read_msg() is a DBG_CHECK that compiles away unless CONFIG_DEBUG is set, so no check remained in a production image.
The doorbell register is written by the peer processor on the other side of the IPC link - for the intel_ish_5_* targets, the host CPU's ISH driver, reached through the device's memory-mapped register window. Host-side software with driver-level or raw BAR access can therefore set a length of up to 1023 and cause the interrupt handler to copy far past the destination buffer. The affected path requires an application to have registered an IPM receive callback via ipm_register_callback(), which is the driver's normal mode of use.
The result is an out-of-bounds write of up to 895 bytes into static (.bss) memory, performed in interrupt context. The overflow first clobbers the rest of struct ipm_sedi_context - including the k_sem and k_mutex used by the transmit path, whose wait queues contain self-referential list pointers - and then adjacent static data, giving a kernel data-structure corruption and crash primitive. The overflowing bytes are read from registers following the message window, a portion of which are themselves peer-programmable. The fix rejects any doorbell whose encoded length exceeds IPC_DATA_LEN_MAX, logging it and acknowledging the doorbell so the peer is not left waiting.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
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.
Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),
An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on
Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit
Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS
Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner
Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability
Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable
DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul
zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(
Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul
The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte
Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c
EUVD-2026-84013
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB