Skip to main content

Zephyr RTOS EUVDEUVD-2026-57066

| CVE-2026-12232 MEDIUM
Out-of-bounds Read (CWE-125)
2026-08-12 zephyr
6.1
CVSS 3.1 · Vendor: zephyr
Share

Severity by source

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

Local syscall with explicit device-object grant required justifies AV:L and PR:L; iterative OOB byte reads enable broad kernel memory reconstruction, warranting C:H.

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

Primary rating from Vendor (zephyr).

CVSS VectorVendor: zephyr

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

Lifecycle Timeline

2
Source Code Evidence Fetched
Aug 12, 2026 - 04:52 vuln.today
Analysis Generated
Aug 12, 2026 - 04:52 vuln.today

DescriptionCVE.org

The Intel ALH digital-audio-interface driver function dai_alh_get_properties() in drivers/dai/intel/alh/alh.c used a caller-supplied int stream_id with no range validation. The value indexes the fixed-size static const uint8_t alh_handshake_map[64] array and scales a FIFO register address, so an out-of-range stream_id produces an out-of-bounds read of one byte at an attacker-chosen signed offset from the array. That byte is written into prop->dma_hs_id and the resulting struct dai_properties is copied back to the caller, leaking it.

dai_get_properties_copy() is a Zephyr __syscall, and its verifier z_vrfy_dai_get_properties_copy() (drivers/dai/dai_handlers.c) validates only the device-object permission and the destination buffer, not stream_id. A user-mode thread that has been granted access to the ALH DAI device object can therefore call the syscall with an arbitrary stream_id, crossing the userspace/kernel sandbox boundary.

The impact is a one-byte-per-call arbitrary-offset kernel information disclosure (and leakage of a computed kernel address via fifo_address); a stream_id that resolves to an unmapped page faults in kernel context, giving a local denial of service. Exploitation requires CONFIG_USERSPACE and device access, making this a local, moderate-severity issue. The fix rejects negative and too-large stream_id values up front and returns NULL, which the copy wrapper maps to -ENOENT.

AnalysisAI

Kernel information disclosure and local denial of service affect Zephyr RTOS on Intel ALH-equipped hardware through an unvalidated stream_id parameter in the Intel ALH digital-audio-interface driver. A local user-mode thread holding explicit ALH device-object access can invoke the dai_get_properties_copy() syscall with an arbitrary stream_id, triggering an out-of-bounds read from the fixed 64-entry alh_handshake_map[] array and leaking one byte of kernel memory per call, along with a computed FIFO register address that can expose kernel address-space layout. No public exploit has been identified at time of analysis; exploitation is constrained to systems built with CONFIG_USERSPACE and where device-object access has been deliberately granted to untrusted threads.

Technical ContextAI

The Intel ALH (Audio Link Hub) is a digital audio interface peripheral found on Intel SoCs, managed in Zephyr RTOS by the driver at drivers/dai/intel/alh/alh.c. The function dai_alh_get_properties() accepts a caller-supplied int stream_id and uses it without range validation to index alh_handshake_map[64], a fixed-size static const uint8_t array, and to scale a FIFO register address. dai_get_properties_copy() is a Zephyr __syscall, meaning it is dispatched through Zephyr's kernel syscall mechanism, which enforces a userspace-to-kernel boundary. The syscall verifier z_vrfy_dai_get_properties_copy() in drivers/dai/dai_handlers.c validates the device-object permission of the calling thread and the output buffer pointer, but omits validation of the stream_id argument - the classic incomplete input validation pattern described by CWE-125 (Out-of-bounds Read). Because stream_id is a signed int, negative values produce negative array offsets, extending the read surface to memory before the array base as well as beyond its end. The resulting one-byte read is written into prop->dma_hs_id and the entire dai_properties struct is copied back to userspace. The affected CPE is cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*, covering all tracked Zephyr versions without a stated upper or lower version bound.

RemediationAI

The upstream fix is available as commit b470bfce689809621cc5cd8c04a4eca93795827a in the Zephyr project repository at https://github.com/zephyrproject-rtos/zephyr/commit/b470bfce689809621cc5cd8c04a4eca93795827a. The patch inserts a bounds check at the top of dai_alh_get_properties() that rejects any stream_id less than zero or greater than or equal to ARRAY_SIZE(alh_handshake_map), returning NULL, which the copy wrapper converts to -ENOENT returned to the caller. Operators should apply this commit to their Zephyr source tree and rebuild and reflash affected firmware. A specific tagged Zephyr release incorporating this fix was not identified in the available data - confirm patch inclusion by consulting Zephyr release notes or the GHSA-3557-j848-pv24 advisory at https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-3557-j848-pv24. If immediate patching is not feasible, two compensating controls exist with distinct trade-offs: disabling CONFIG_USERSPACE at build time fully eliminates the syscall attack surface but also removes all userspace thread isolation, which may break application functionality; alternatively, auditing and revoking ALH DAI device-object access grants from untrusted user-mode threads is the more surgical mitigation and closes the attack path without affecting kernel-internal use of the driver.

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-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-2026-1678 CRITICAL POC
9.4 Mar 05

Buffer overflow in Zephyr RTOS dns_unpack_name() function causing OOB writes. PoC available.

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

Share

EUVD-2026-57066 vulnerability details – vuln.today

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