CVE-2026-16511
Last modified
CVE-2026-16511 is a high-severity vulnerability rated 8.8/10 on the CVSS scale. Two RTIO syscall verifiers, in subsys/rtio/rtio_syscalls.c (subsys/rtio/rtio_handlers.c before v4.3.0), did not validate user-supplied pointers before the kernel wrote through them. z_vrfy_rtio_sqe_cancel() performed no validation at all. It passed the caller's struct rtio_sqe pointer straight to z_impl_rtio_sqe_cancel(), which converts it with CONTAINER_OF to a struct rtio_iodev_sqe, ORs RTIO_SQE_CANCELED (BIT(3)) into its 16-bit flags field in supervisor mode, then loads its next pointer and repeats until that pointer is NULL.
Description
Two RTIO syscall verifiers, in subsys/rtio/rtio_syscalls.c (subsys/rtio/rtio_handlers.c before v4.3.0), did not validate user-supplied pointers before the kernel wrote through them. z_vrfy_rtio_sqe_cancel() performed no validation at all. It passed the caller's struct rtio_sqe pointer straight to z_impl_rtio_sqe_cancel(), which converts it with CONTAINER_OF to a struct rtio_iodev_sqe, ORs RTIO_SQE_CANCELED (BIT(3)) into its 16-bit flags field in supervisor mode, then loads its next pointer and repeats until that pointer is NULL. The syscall takes no RTIO context argument, so it needs no object grant: any user-mode thread on a CONFIG_USERSPACE build can set that bit in a 16-bit word at an address of its choosing in kernel memory, and the kernel continues the write along whatever pointer chain it finds at the corresponding offset. Setting chosen bits in kernel data structures, such as object permission or thread state fields, can be used to escalate privilege from user mode. z_vrfy_rtio_sqe_copy_in_get_handles() validated its RTIO context and the input SQE array, but only NULL-checked the handle out-parameter before writing a kernel SQE pointer through it, with no K_SYSCALL_MEMORY_WRITE check. A user thread that holds a granted RTIO context can therefore make the kernel store a pointer value at an arbitrary address. The fixes validate the handle out-parameter as writable, bound the cancel handle to real submission-pool storage, and require permission on the RTIO context that owns the matching pool. Without that last check a bounded handle still let any user thread cancel submissions belonging to other contexts, silently aborting their I/O. Systems built without CONFIG_USERSPACE or without CONFIG_RTIO are unaffected.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 3.4.0, < 4.3.2; >= 4.4.0, < 4.5.0 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-16511?
How severe is CVE-2026-16511?
How do I fix CVE-2026-16511?
How Strix Helps
- Uncovering a hidden BOLA in Appsmith's snapshot logicStrix autonomously discovered a BOLA/IDOR vulnerability in Appsmith's snapshot deletion path.
- 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-16498The terraform-mcp-server before version 1.1.0 is vulnerable …10
- CVE-2026-1650The MDJM Event Management plugin for WordPress is vulnerable…5.3
- CVE-2026-16502The Live Composer – Free WordPress Website Builder plugin fo…8.8
- CVE-2026-16503Deployment of the VPS.org one-click Supabase template deploy…9.1
- CVE-2026-16504Deployment of the VPS.org one-click Zulip template deploys a…9.8
- CVE-2026-1651The Email Subscribers by Icegram Express plugin for WordPres…6.5
- CVE-2026-16512gptp_handle_msg() in subsys/net/l2/ethernet/gptp/gptp.c dere…3.1
- CVE-2026-16513The userspace verifier z_vrfy_rtio_sqe_copy_in_get_handles()…7.8
- CVE-2026-16514gptp_mi_qualify_announce() in subsys/net/l2/ethernet/gptp/gp…4.3
- CVE-2026-16515net_icmpv6_send_error() in subsys/net/ip/icmpv6.c implemente…4.7
- CVE-2026-16516wolfSSH does not validate that the ECDSA curve identifier in…7.4
- CVE-2026-16517A signed integer overflow vulnerability was found in libarch…2.9
Are you affected by CVE-2026-16511?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
