CVE-2026-10670
Awaiting Analysis Awaiting Analysis - Queue

NULL Pointer Dereference in Zephyr RTOS Kernel

Vulnerability report for CVE-2026-10670, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-14

Last updated on: 2026-07-14

Assigner: Zephyr Project

Description

The CONFIG_USERSPACE verification handler for the k_thread_name_copy() system call (z_vrfy_k_thread_name_copy() in kernel/thread.c) calls k_object_find() on the caller-supplied thread pointer and then dereferences the returned struct k_object without checking it for NULL. k_object_find() returns NULL whenever the supplied pointer is not a registered (static or dynamic) kernel object. The pre-fix guard tested thread == NULL instead of ko == NULL, so an unprivileged user-mode thread that invokes k_thread_name_copy() with any non-NULL but unregistered pointer (e.g. an arbitrary address) passes the NULL test, after which the verifier reads ko->type through a NULL pointer. Because the syscall verifier runs in supervisor mode, this NULL dereference is a kernel-mode fault that halts or reboots the system, allowing untrusted user code to crash the kernel across the userspace security boundary (denial of service). The marshaller passes the thread argument to the verifier without any prior K_SYSCALL_OBJ validation, so the bad pointer reaches the defect directly. The flaw affects builds with CONFIG_USERSPACE and CONFIG_THREAD_NAME enabled and has been present since the special-case lookup was introduced around v2.0.0; it is present in v4.4.0 and earlier. The fix changes the guard to check the k_object_find() return value (ko == NULL) before dereferencing it.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-14
Last Modified
2026-07-14
Generated
2026-08-03
AI Q&A
2026-07-14
EPSS Evaluated
2026-08-02
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
zephyrproject zephyr From 2.0.0 (inc) to 4.4.0 (inc)
zephyrproject zephyr 4.5.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-476 The product dereferences a pointer that it expects to be valid but is NULL.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-10670 is a vulnerability in the Zephyr RTOS kernel where the system call verifier for k_thread_name_copy() fails to properly validate a user-supplied thread pointer.

The verifier calls k_object_find() on the thread pointer but does not check if the returned k_object pointer (ko) is NULL before dereferencing it. Instead, it incorrectly checks if the original thread pointer is NULL, which allows an unprivileged user-mode thread to pass a non-NULL but unregistered pointer (e.g., an arbitrary memory address).

When the verifier attempts to access ko->type through this NULL pointer, it causes a kernel-mode fault, leading to a system crash or reboot. This vulnerability exists in builds with CONFIG_USERSPACE and CONFIG_THREAD_NAME enabled and has been present since around version 2.0.0.

Detection Guidance

Detecting this vulnerability on your system requires checking if your Zephyr RTOS build is affected by the specific conditions of CVE-2026-10670. Since the vulnerability is triggered by a user-mode thread passing an unregistered pointer to the k_thread_name_copy() system call, direct detection via network scanning is not feasible. Instead, you can verify the following:

  • Check if your Zephyr RTOS version is affected. The vulnerability exists in versions with CONFIG_USERSPACE and CONFIG_THREAD_NAME enabled, dating back to around v2.0.0 and present in v4.4.0 and earlier. You can inspect the build configuration or version information to confirm this.
  • Review the build configuration for the presence of CONFIG_USERSPACE and CONFIG_THREAD_NAME. If both are enabled, your system may be vulnerable. This can typically be checked in the prj.conf or Kconfig files used during the build process.
  • Test for the vulnerability by attempting to trigger the NULL pointer dereference. This requires crafting a user-mode thread that invokes k_thread_name_copy() with an unregistered pointer. However, this method is risky as it may crash the system and should only be performed in a controlled environment. Example pseudo-code for testing:
  • - Create a user-mode thread that calls k_thread_name_copy() with an arbitrary non-NULL pointer (e.g., a pointer to an unregistered memory address).
  • - If the system crashes or reboots, it indicates the vulnerability is present.

Note that this testing approach should only be used in a development or staging environment, as it intentionally triggers a kernel fault.

Impact Analysis

This vulnerability can impact you in the following ways:

  • Denial of Service (DoS): An unprivileged user-mode thread can crash the Zephyr RTOS kernel by passing an invalid thread pointer, causing the system to halt or reboot. This disrupts the availability of the affected device or system.
  • Security Boundary Violation: The flaw allows untrusted user code to trigger a kernel-mode fault, bypassing the userspace security boundary. This could be exploited to cause unexpected behavior or instability in the system.
  • Impact on Embedded Systems: Since Zephyr RTOS is commonly used in embedded and IoT devices, this vulnerability could lead to device malfunctions, requiring manual intervention to restore functionality.
Compliance Impact

This vulnerability may affect compliance with common standards and regulations in the following ways:

  • GDPR (General Data Protection Regulation): If the affected system processes personal data and the vulnerability leads to a denial of service, it could result in the unavailability of services, violating the GDPR's requirement for data availability and resilience (Article 32). However, this vulnerability does not directly expose or leak personal data.
  • HIPAA (Health Insurance Portability and Accountability Act): For systems handling protected health information (PHI), a denial of service caused by this vulnerability could disrupt access to critical healthcare services, potentially violating HIPAA's requirements for system availability and security (e.g., the Security Rule's requirements for ensuring the confidentiality, integrity, and availability of PHI).
  • Industry-Specific Standards: In sectors like industrial control systems (ICS) or automotive, standards such as IEC 62443 or ISO 26262 emphasize system reliability and availability. A kernel crash caused by this vulnerability could violate these standards by compromising system stability and safety.

While this vulnerability primarily impacts system availability, its exploitation could lead to non-compliance with regulations or standards that mandate system reliability, uptime, or security.

Mitigation Strategies

To mitigate CVE-2026-10670, follow these immediate steps:

  • Apply the official patch provided by the Zephyr Project. The fix involves adding a NULL check for the return value of k_object_find() before dereferencing it. The patch is available in the main branch and is included in Zephyr RTOS version 4.5.0 and later. You can find the patch in Resource 1.
  • If upgrading to a patched version is not immediately feasible, consider disabling CONFIG_THREAD_NAME in your build configuration. This will disable the affected functionality and prevent the vulnerability from being exploited. However, this may impact features that rely on thread naming.
  • Restrict access to user-mode threads that can invoke the k_thread_name_copy() system call. Ensure that only trusted and validated code can execute this syscall to reduce the risk of exploitation.
  • Monitor your systems for unexpected crashes or reboots, which may indicate an attempted exploitation of this vulnerability. Implement logging and alerting mechanisms to detect such events.

For long-term mitigation, plan to upgrade to Zephyr RTOS version 4.5.0 or later, where the vulnerability has been fixed.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-10670. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart