CVE-2026-19595
Last modified
CVE-2026-19595 is a medium-severity vulnerability rated 6.1/10 on the CVSS scale. The user-mode syscall verifier z_vrfy_rtio_cqe_get_mempool_buffer() in subsys/rtio/rtio_syscalls.c validated its two output parameters, buff and buff_len, with K_SYSCALL_MEMORY_READ() rather than K_SYSCALL_MEMORY_WRITE(). Both are pure out-parameters: z_impl_rtio_cqe_get_mempool_buffer() stores the mempool buffer address and its length through them. EPSS estimates a 0.11% chance of exploitation in the next 30 days.
Description
The user-mode syscall verifier z_vrfy_rtio_cqe_get_mempool_buffer() in subsys/rtio/rtio_syscalls.c validated its two output parameters, buff and buff_len, with K_SYSCALL_MEMORY_READ() rather than K_SYSCALL_MEMORY_WRITE(). Both are pure out-parameters: z_impl_rtio_cqe_get_mempool_buffer() stores the mempool buffer address and its length through them. The distinction is enforced by every architecture validator — arch_buffer_validate() on RISC-V PMP explicitly accepts the global __rom_region/__rodata_region for reads only, and the ARM MPU validators accept P_RO_U_RO and P_RW_U_RO regions for reads only — so a read-validated pointer is not necessarily writable by the calling thread. An unprivileged user-mode thread that has been granted access to an RTIO context (rtio_access_grant()) can invoke the rtio_cqe_get_mempool_buffer() syscall with buff/buff_len pointing at memory it may read but not write, and with a completion-queue entry whose flags field it fully controls (only RTIO_CQE_FLAG_MEMPOOL_BUFFER in flags[7:0] is required; flags[19:8] and flags[31:20] supply the block index and count). The kernel then performs a pointer-sized and a 4-byte store through those addresses while running in supervisor mode. Reaching the store requires CONFIG_USERSPACE together with CONFIG_RTIO_SYS_MEM_BLOCKS, the configuration behind RTIO_DEFINE_WITH_MEMPOOL; without the latter the implementation returns -ENOTSUP and writes nothing. Two outcomes follow. If the target lies in a memory-domain partition declared K_MEM_PARTITION_P_RW_U_RO (privileged read-write, user read-only), the kernel-mode store succeeds and deposits partly attacker-chosen values into memory the memory domain had marked read-only for that thread, bypassing the partition's write protection. If the target lies in globally readable but unwritable memory such as .text/.rodata in flash, the store faults in kernel mode; the fault is delivered to z_fatal_error() and the default k_sys_fatal_error_handler() halts or reboots the device, giving an unprivileged thread a reliable full denial of service. The read-permission check does bound the damage: the address must still be readable by the calling thread, so kernel-private memory cannot be targeted and no confidential data is disclosed. The fix replaces both checks with K_SYSCALL_MEMORY_WRITE(), so a thread lacking write permission is terminated by K_OOPS before the implementation runs; the cqe argument correctly remains read-validated.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 3.4.0, <= 4.4.2 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-19595?
How severe is CVE-2026-19595?
How do I fix CVE-2026-19595?
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-1959Stored Cross-Site Scripting (XSS) vulnerability in Loggro Py…5.1
- CVE-2026-19590OpenAI Codex Desktop for Windows and macOS could execute att…7.3
- CVE-2026-19591OpenAI Codex CLI for Windows, macOS, and Linux and Codex Des…8.8
- CVE-2026-19592OpenAI Codex CLI for Windows, macOS, and Linux and Codex Des…7.3
- CVE-2026-19593OpenAI Codex Desktop for Windows and macOS automatically ins…9.8
- CVE-2026-19594Insufficient input sanitization in Snowflake Python API (`sn…8.1
- CVE-2026-19596An XML External Entity (XXE) vulnerability exists in the XML…5.9
- CVE-2026-19598The Pods – Custom Content Types and Fields plugin for WordPr…9.8
- CVE-2026-19599ZohoCorp ManageEngine OpManager MSP versions 12.8.709 and be…9.9
- CVE-2026-1960Stored Cross-Site Scripting (XSS) vulnerability in Loggro Py…5.1
- CVE-2026-19600Mattermost versions 11.9.x <= 11.9.1, 11.8.x <= 11.8.5, 11.7…4.9
- CVE-2026-19601Mattermost versions 11.9.x <= 11.9.1, 11.8.x <= 11.8.5, 11.7…4.9
Are you affected by CVE-2026-19595?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
