Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-10682— Out-of-bounds write in Zephyr `log_filter_set` syscall verifier reachable from userspace

Quick assessment

Affected
zephyrproject zephyr
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Zephyr 内核中位于 的 系统调用对应的用户空间验证函数 ,对 类型的 参数进行了有符号比较: 。由于该比较是有符号的,任何负数值(例如 -1)都会轻易通过此检查,并被传递至 ,进而传播到 ,最终到达 。在该函数中, 被用作链接段数组 的无符号索引。 经过隐式转换为 后, 类型的 -1 变为 0xFFFFFFFF,导致对 数组的越界访问,从而引发内核对 段相邻内存的越界读(OOB read)以及越界读-改-写操作(涉及 宏)。 虽然写入的值是目标 32 位字中受限的 3 位日志级别槽位,但目标地址由攻击者选择(

CVSS 6.6 · Medium EPSS 0.17% · P6

Affected Version Matrix 1

VendorProduct Version RangeStatus
zephyrproject zephyr 3.0.0< 4.5.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-10682

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Out-of-bounds write in Zephyr `log_filter_set` syscall verifier reachable from userspace
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
跨界内存写
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
zephyrproject zephyr 3.0.0 ~ 4.5.0 -

II. Public POCs for CVE-2026-10682

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-10682

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-10682 (1)

Vendor Advisories for CVE-2026-10682 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-10682

No comments yet


Leave a comment