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

2 affected components
Zephyr Zephyr>=3.3.0<=4.4.1
zephyrproject zephyr>=3.0.0<4.5.0

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 log_filter_set userspace syscall verifier to replace the signed comparison `src_id < (int16_t)log_src_cnt_get(domain_id)` (where src_id is int16_t) with an unsigned comparison `(uint32_t)src_id < log_src_cnt_get(domain_id)` to correctly reject negative inputs and prevent OOB access.

    Zephyr subsys/logging/log_mgmt.c (z_vrfy_log_filter_set verifier) src_id bounds check = Use unsigned comparison: (uint32_t)src_id < log_src_cnt_get(domain_id) instead of signed comparison
  3. Compensating control

    If you cannot patch immediately, mitigate exposure by disabling the condition that makes the bug reachable: set CONFIG_USERSPACE=y off and/or disable CONFIG_LOG_RUNTIME_FILTERING=y so the z_vrfy_log_filter_set() syscall verifier path is not reachable.

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
RemedyDescriptionSeverityWeaknessAffected Software
May 18, 58583
Event
via NVD·12:22 PM

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