CVE-2026-12364
Last modified
CVE-2026-12364 is a high-severity vulnerability rated 8.4/10 on the CVSS scale. The user-space system-call verifier z_vrfy_z_log_msg_static_create() in subsys/logging/log_msg.c was a pure pass-through: it forwarded the caller-supplied source, desc, package, and data arguments directly to the kernel-mode implementation z_impl_z_log_msg_static_create() without performing any of the mandatory K_SYSCALL_* checks. Because z_log_msg_static_create() is declared __syscall, under CONFIG_USERSPACE any unprivileged user-mode thread can invoke it directly with fully attacker-controlled arguments. The kernel-mode handler dereferences each of these untrusted values: frontend_runtime_filtering() reads through the source pointer as a struct log_source_dynamic_data, cbprintf_package_copy() reads desc.package_len bytes from the package pointer, and z_log_msg_finalize() performs a memcpy() of desc.data_len bytes from the data pointer. EPSS estimates a 0.16% chance of exploitation in the next 30 days.
Description
The user-space system-call verifier z_vrfy_z_log_msg_static_create() in subsys/logging/log_msg.c was a pure pass-through: it forwarded the caller-supplied source, desc, package, and data arguments directly to the kernel-mode implementation z_impl_z_log_msg_static_create() without performing any of the mandatory K_SYSCALL_* checks. Because z_log_msg_static_create() is declared __syscall, under CONFIG_USERSPACE any unprivileged user-mode thread can invoke it directly with fully attacker-controlled arguments. The kernel-mode handler dereferences each of these untrusted values: frontend_runtime_filtering() reads through the source pointer as a struct log_source_dynamic_data, cbprintf_package_copy() reads desc.package_len bytes from the package pointer, and z_log_msg_finalize() performs a memcpy() of desc.data_len bytes from the data pointer. With no verification, a user thread can supply arbitrary kernel addresses and arbitrary lengths, and the kernel will read from them. The impact is a kernel-mode denial of service (the kernel faults dereferencing an attacker-chosen pointer) and, where a log backend output is observable to the attacker, disclosure of arbitrary kernel memory copied into the emitted log message — a confidentiality breach across the user/kernel boundary that the userspace sandbox is meant to enforce. The reads do not corrupt kernel memory, so there is no out-of-bounds write primitive. The fix adds the required validation to the verifier: it bounds desc.package_len against Z_LOG_MSG_MAX_PACKAGE, rejects non-NULL/length mismatches, and applies K_SYSCALL_MEMORY_READ() to package, data, and (when runtime filtering with a frontend is enabled) source, so any out-of-bounds or kernel pointer now raises K_OOPS instead of being honored.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 2.6.0, < 4.3.2; >= 4.4.0, < 4.4.2 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-12364?
How severe is CVE-2026-12364?
How do I fix CVE-2026-12364?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-123620Usermin through 2.570 contains an OS command injection vulne…7.5
- CVE-2026-123621Usermin through 2.570 contains a path traversal vulnerabilit…8.8
- CVE-2026-123622Usermin through 2.570 contains a cross-site scripting vulner…6.1
- CVE-2026-123623Grida through 0.0.24 contains a missing authorization vulner…5.9
- CVE-2026-123624ChatWiki before 2.10.0 contains an insecure direct object re…5.4
- CVE-2026-12363The LoRaWAN Fragmented Data Block Transport service (subsys/…4.2
- CVE-2026-12365A use-after-free exists in the Zephyr second-generation work…5.8
- CVE-2026-123653A security vulnerability has been detected in esengine DeepS…6.3
- CVE-2026-123655A flaw was found in Moodle. Insufficient access control chec…7.5
- CVE-2026-123656The ProfilePress WordPress plugin before 4.17.6 does not co…
- CVE-2026-123657The ProfilePress WordPress plugin before 4.17.6 does not re…5.3
- CVE-2026-123659The ProfilePress WordPress plugin before 4.17.6 does not res…5.3
Are you affected by CVE-2026-12364?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
