CVE-2026-12364: Missing user-space pointer validation in logging syscall z_log_msg_static_create allows kernel memory disclosure and denial of service
The user-space system-call verifier zvrfyzlogmsgstaticcreate() in subsys/logging/logmsg.c was a pure pass-through: it forwarded the caller-supplied source, desc, package, and data arguments directly to the kernel-mode implementation zimplzlogmsgstaticcreate() without performing any of the mandatory KSYSCALL checks. Because zlogmsgstaticcreate() is declared syscall, under CONFIGUSERSPACE any unprivileged user-mode thread can invoke it directly with fully attacker-controlled arguments.
The kernel-mode handler dereferences each of these untrusted values: frontendruntimefiltering() reads through the source pointer as a struct logsourcedynamicdata, cbprintfpackagecopy() reads desc.packagelen bytes from the package pointer, and zlogmsgfinalize() performs a memcpy() of desc.datalen 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.packagelen against ZLOGMSGMAXPACKAGE, rejects non-NULL/length mismatches, and applies KSYSCALLMEMORYREAD() to package, data, and (when runtime filtering with a frontend is enabled) source, so any out-of-bounds or kernel pointer now raises KOOPS instead of being honored.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-12364?
CVE-2026-12364 has a severity rating of 8.4, classified as high.
What impact does CVE-2026-12364 have?
CVE-2026-12364 can lead to kernel memory disclosure and denial of service due to missing user-space pointer validation.
How do I fix CVE-2026-12364?
To mitigate CVE-2026-12364, ensure that proper validation of user-space pointers occurs before they are processed in the kernel.
Which software is affected by CVE-2026-12364?
CVE-2026-12364 affects the subsys/logging/log_msg.c implementation and the z_log_msg_static_create syscall.
When was CVE-2026-12364 published?
CVE-2026-12364 was published on August 14, 2026.