CVE-2026-19947
Last modified
CVE-2026-19947 is a medium-severity vulnerability rated 5.3/10 on the CVSS scale. The device multiplexer pseudo-driver in drivers/misc/devmux/devmux.c exposes two system calls, devmux_select_get() and devmux_select_set(). When CONFIG_USERSPACE is enabled, their user-mode verifiers z_vrfy_devmux_select_get() and z_vrfy_devmux_select_set() forwarded directly to the kernel implementations without performing any kernel-object validation — no k_object_access_check() and no driver object check. EPSS estimates a 0.10% chance of exploitation in the next 30 days.
Description
The device multiplexer pseudo-driver in drivers/misc/devmux/devmux.c exposes two system calls, devmux_select_get() and devmux_select_set(). When CONFIG_USERSPACE is enabled, their user-mode verifiers z_vrfy_devmux_select_get() and z_vrfy_devmux_select_set() forwarded directly to the kernel implementations without performing any kernel-object validation — no k_object_access_check() and no driver object check. Compounding this, DEVICE_DT_INST_DEFINE() registered devmux instances with a NULL driver API pointer, which causes scripts/build/gen_kobject_list.py to skip them entirely, so a devmux device had no struct k_object and no permission on it could be granted or withheld in the first place. Any thread running in user mode can reach the defect: device pointers such as DEVICE_DT_GET(DT_NODELABEL(devmux0)) are compile-time constants available to application code, and the syscall accepted them from a thread that had never been granted access to the device. The kernel implementations do validate the pointer against the static devmux instance table and bounds-check the selection index, so this is not a memory-safety issue; the failure is purely one of authorization. Exposure requires CONFIG_USERSPACE=y together with the experimental CONFIG_DEVMUX=y (which depends on CONFIG_DEVICE_MUTABLE) and a zephyr,devmux devicetree node. An unprivileged user-mode thread can read and change which downstream device a multiplexer forwards to, bypassing the userspace object-permission model. Because a devmux forwards the data, configuration and API of the selected device — its documented use being zephyr,console and zephyr,shell-uart switching — an attacker can suppress console, log and shell output, redirect that output to a downstream device it is able to observe, or flip the selection underneath another thread that is legitimately using the multiplexer. The impact is bounded to the devicetree-fixed set of downstream devices; no out-of-bounds access or arbitrary pointer dereference is reachable. The fix declares __subsystem struct devmux_driver_api and attaches a DEVICE_API(devmux, devmux_api) instance to each devmux device so that it becomes a tracked K_OBJ_DRIVER_DEVMUX kernel object, and adds K_OOPS(devmux_inst_get(dev) == SIZE_MAX) plus K_OOPS(k_object_access_check(dev) != 0) to both verifiers.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 3.6.0, < 4.5.0 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-19947?
How severe is CVE-2026-19947?
How do I fix CVE-2026-19947?
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-19941An inapplicable NSEC record may be accepted by a `named` res…5.9
- CVE-2026-19942The Atarim – AI Agency for WordPress: Edit Pages, Fix Code, …8.1
- CVE-2026-19943The Gutenverse – WordPress Blocks, Page Builder & Site Edito…6.4
- CVE-2026-19944The WP Crowdfunding plugin for WordPress is vulnerable to ge…4.9
- CVE-2026-19945The WP Crowdfunding plugin for WordPress is vulnerable to St…6.4
- CVE-2026-19946The Awesome Support plugin for WordPress is vulnerable to Mi…4.3
- CVE-2026-19948The Cozy Blocks – Page Builder for Gutenberg Editor & FSE wi…5.3
- CVE-2026-19949The All-in-One WP Migration and Backup plugin for WordPress …8.8
- CVE-2026-1995In versions before 7.0.0.64, IDrive’s id_service.exe process…7.8
- CVE-2026-19952The Frontend Admin by DynamiApps plugin for WordPress is vul…7.5
- CVE-2026-19953URI versions before 5.36 for Perl encode non-NFC host names …6.5
- CVE-2026-19954Net::Whois::Raw versions before 2.99044 for Perl ship a pwho…5.4
Are you affected by CVE-2026-19947?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
