PatchSiren cyber security CVE debrief
CVE-2026-10682 zephyrproject CVE debrief
The userspace verifier z_vrfy_log_filter_set() for the log_filter_set syscall in subsys/logging/log_mgmt.c performed a signed comparison against the int16_t src_id parameter: src_id < (int16_t)log_src_cnt_get(domain_id). Any negative value for src_id (e.g. -1) trivially satisfied this check and was forwarded into z_impl_log_filter_set, where it propagated to filter_set() and ultimately to get_dynamic_filter(), which uses source_id as an unsigned index into the linker-section array &TYPE_SECTION_START(log_dynamic)[source_id].filters. After implicit conversion through uint32_t, an int16_t -1 becomes 0xFFFFFFFF, indexing log_dynamic far out of bounds and causing the kernel to perform an OOB read and an OOB read-modify-write (LOG_FILTER_SLOT_GET/SET) against memory adjacent to the log_dynamic section. The written value is a constrained 3-bit log level slot within the targeted 32-bit word, but the target address is attacker-chosen (a small negative offset from log_dynamic) and the write occurs in supervisor mode following a syscall from an unprivileged user thread, providing a kernel memory-corruption / privilege-escalation primitive. The defect is reachable on any build with CONFIG_USERSPACE=y and CONFIG_LOG_RUNTIME_FILTERING=y. Present from Zephyr v3.3.0 through v4.4.1. The fix replaces the signed bound check with an unsigned comparison: (uint32_t)src_id < log_src_cnt_get(domain_id), which correctly rejects negative inputs.
- Vendor
- zephyrproject
- Product
- zephyr
- CVSS
- MEDIUM 6.6
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-27
- Original CVE updated
- 2026-08-12
- Advisory published
- 2026-07-27
- Advisory updated
- 2026-08-12
Who should care
Users of Zephyr versions 3.3.0 through 4.4.1, especially those using CONFIG_USERSPACE=y and CONFIG_LOG_RUNTIME_FILTERING=y, should be aware of this vulnerability and take steps to mitigate it.
Technical summary
The userspace verifier z_vrfy_log_filter_set() for the log_filter_set syscall in subsys/logging/log_mgmt.c performed a signed comparison against the int16_t src_id parameter. This allows negative values to be forwarded into z_impl_log_filter_set, leading to an out-of-bounds read and write in the kernel. The issue is present in Zephyr versions from 3.3.0 to 4.4.1 and can be mitigated by updating to version 4.5.0 or later, or applying the provided patches.
Defensive priority
This vulnerability allows for kernel memory corruption and potential privilege escalation. Affected systems should be updated to Zephyr version 4.5.0 or later, or apply patches as described in the vendor advisories.
Recommended defensive actions
- Update to Zephyr version 4.5.0 or later
- Apply patches as described in the vendor advisories
- Restrict access to the log_filter_set syscall
- Monitor system logs for suspicious activity
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
Evidence notes
The vulnerability is caused by a signed comparison in the userspace verifier z_vrfy_log_filter_set() for the log_filter_set syscall. This allows negative values to be forwarded into z_impl_log_filter_set, leading to an out-of-bounds read and write in the kernel. The issue is present in Zephyr versions from 3.3.0 to 4.4.1 and can be mitigated by updating to version 4.5.0 or later, or applying the provided patches.
Official resources
-
CVE-2026-10682 CVE record
CVE.org
-
CVE-2026-10682 NVD detail
NVD
-
Source item URL
nvd_modified
-
Mitigation or vendor reference
[email protected] - Patch
-
Mitigation or vendor reference
[email protected] - Exploit, Patch, Vendor Advisory
AI-assisted PatchSiren debrief based on the supplied source corpus. The CVE record was published on 2026-07-27T19:17:14.070Z and has not been modified since then. The NVD entry is currently Analyzed.