CVE-2026-12232: bounds in zephyrproject zephyr
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.
AI Analysis
Technical Summary
The Intel ALH digital-audio-interface driver function dai_alh_get_properties() in Zephyr's drivers/dai/intel/alh/alh.c uses a caller-supplied integer stream_id without range validation. This stream_id indexes a fixed-size static array and scales a FIFO register address, causing an out-of-bounds read of one byte at an attacker-controlled offset. The byte read is written into a property structure returned to the caller, leaking kernel memory. The syscall dai_get_properties_copy() exposes this to user mode with only device-object permission validation, allowing a local user with device access to leak kernel information or cause a denial of service by triggering a fault with an invalid stream_id. The fix involves rejecting negative and out-of-range stream_id values, returning NULL to prevent the leak.
Potential Impact
This vulnerability allows a local user with access to the ALH DAI device object and CONFIG_USERSPACE enabled to read one byte of kernel memory per syscall invocation, potentially leaking sensitive kernel information including computed kernel addresses. Additionally, providing an invalid stream_id that maps to an unmapped page can cause a kernel fault, resulting in a local denial of service. There is no indication of privilege escalation or remote exploitation.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix rejects invalid stream_id values to prevent out-of-bounds reads. Until an official fix is confirmed, restrict access to the ALH DAI device object to trusted users only and ensure CONFIG_USERSPACE is configured securely.
CVE-2026-12232: bounds in zephyrproject zephyr
Description
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.
CVSS v3.1
Score 6.1medium
Affected software
zephyrproject
zephyr
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
Technical Analysis
The Intel ALH digital-audio-interface driver function dai_alh_get_properties() in Zephyr's drivers/dai/intel/alh/alh.c uses a caller-supplied integer stream_id without range validation. This stream_id indexes a fixed-size static array and scales a FIFO register address, causing an out-of-bounds read of one byte at an attacker-controlled offset. The byte read is written into a property structure returned to the caller, leaking kernel memory. The syscall dai_get_properties_copy() exposes this to user mode with only device-object permission validation, allowing a local user with device access to leak kernel information or cause a denial of service by triggering a fault with an invalid stream_id. The fix involves rejecting negative and out-of-range stream_id values, returning NULL to prevent the leak.
Potential Impact
This vulnerability allows a local user with access to the ALH DAI device object and CONFIG_USERSPACE enabled to read one byte of kernel memory per syscall invocation, potentially leaking sensitive kernel information including computed kernel addresses. Additionally, providing an invalid stream_id that maps to an unmapped page can cause a kernel fault, resulting in a local denial of service. There is no indication of privilege escalation or remote exploitation.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix rejects invalid stream_id values to prevent out-of-bounds reads. Until an official fix is confirmed, restrict access to the ALH DAI device object to trusted users only and ensure CONFIG_USERSPACE is configured securely.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- zephyr
- Date Reserved
- 2026-06-15T01:56:01.607Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6a7bf613bf8831d539f51858
Added to database: 08/12/2026, 04:26:59 UTC
Last enriched: 08/12/2026, 04:45:49 UTC
Last updated: 09/26/2026, 13:47:42 UTC
Views: 82
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
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
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.