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

Published Jul 27, 2026
·
Updated

The userspace verifier zvrfylogfilterset() for the logfilterset syscall in subsys/logging/logmgmt.c performed a signed comparison against the int16t srcid parameter: srcid < (int16t)logsrccntget(domainid). Any negative value for srcid (e.g. -1) trivially satisfied this check and was forwarded into zimpllogfilterset, where it propagated to filterset() and ultimately to getdynamicfilter(), which uses sourceid as an unsigned index into the linker-section array &TYPESECTIONSTART(logdynamic)[sourceid].filters.

After implicit conversion through uint32t, an int16t -1 becomes 0xFFFFFFFF, indexing logdynamic far out of bounds and causing the kernel to perform an OOB read and an OOB read-modify-write (LOGFILTERSLOTGET/SET) against memory adjacent to the logdynamic 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 logdynamic) 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 CONFIGUSERSPACE=y and CONFIGLOGRUNTIMEFILTERING=y. Present from Zephyr v3.3.0 through v4.4.1. The fix replaces the signed bound check with an unsigned comparison: (uint32t)srcid < logsrccntget(domainid), which correctly rejects negative inputs.

Affected Software

1 affected component
Zephyr Zephyr>=3.3.0<=4.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Zephyr to a version that resolves this vulnerability.

    Fixed in v4.4.1
  2. Configuration

    Update the signed comparison in z_vrfy_log_filter_set() to use an unsigned comparison: replace the check that used `src_id < (int16_t)log_src_cnt_get(domain_id)` with `(uint32_t)src_id < log_src_cnt_get(domain_id)` to reject negative src_id values.

    Zephyr userspace verifier (z_vrfy_log_filter_set) in subsys/logging/log_mgmt.c src_id bound check = (uint32_t)src_id < log_src_cnt_get(domain_id)
  3. Compensating control

    When building Zephyr, ensure conditions for reachability are not met: avoid builds with CONFIG_USERSPACE=y and CONFIG_LOG_RUNTIME_FILTERING=y.

Event History

Jul 27, 2026
CVE Published
via MITRE·06:30 PM
Data Sourced
via MITRE·06:30 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·07:17 PM
DescriptionSeverityWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-10682?

The severity of CVE-2026-10682 is classified as medium with a score of 6.6.

2

How do I fix CVE-2026-10682?

To fix CVE-2026-10682, update Zephyr to the latest stable version in which this vulnerability is addressed.

3

What type of vulnerability is CVE-2026-10682?

CVE-2026-10682 is an out-of-bounds write vulnerability in the Zephyr log_filter_set syscall verifier.

4

Who is affected by CVE-2026-10682?

Users of the Zephyr operating system that utilize the log_filter_set syscall are affected by CVE-2026-10682.

5

What are the potential impacts of CVE-2026-10682?

CVE-2026-10682 can lead to out-of-bounds writes, which may result in crashes or unintended behavior in the Zephyr system.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203