CVE-2026-19185
Last modified
CVE-2026-19185 is a high-severity vulnerability rated 7.8/10 on the CVSS scale. The system-call verifier for i3c_do_ccc() in drivers/i3c/i3c_handlers.c validated the outer struct i3c_ccc_payload, the broadcast ccc.data buffer and the targets.payloads[] array, but did not validate the per-target data buffers those array elements point at. Each struct i3c_ccc_target_payload carries its own data pointer and data_len, and neither was passed through K_SYSCALL_MEMORY() before the payload was handed to z_impl_i3c_do_ccc() and on to the controller driver. EPSS estimates a 0.17% chance of exploitation in the next 30 days.
Description
The system-call verifier for i3c_do_ccc() in drivers/i3c/i3c_handlers.c validated the outer struct i3c_ccc_payload, the broadcast ccc.data buffer and the targets.payloads[] array, but did not validate the per-target data buffers those array elements point at. Each struct i3c_ccc_target_payload carries its own data pointer and data_len, and neither was passed through K_SYSCALL_MEMORY() before the payload was handed to z_impl_i3c_do_ccc() and on to the controller driver. The verifier also operated on the caller's live structure rather than a snapshot, so validated fields could be changed by a second user thread between the check and the driver's use — unlike the sibling z_vrfy_i3c_transfer(), which has always copied its message array first. The defect is only present in CONFIG_USERSPACE builds, where drivers/i3c/i3c_handlers.c is compiled. An unprivileged user-mode thread that has been granted access to the I3C controller device object — the ordinary way an application lets a user thread talk to I3C peripherals — can issue a direct CCC whose target payload data pointer names an arbitrary kernel address. Controller drivers dereference that pointer directly (for example drivers/i3c/i3c_mcux.c, drivers/i3c/i3c_cdns.c, drivers/i3c/i3c_stm32.c, drivers/i3c/i3c_npcx.c), using rnw to decide direction. A read CCC therefore causes the kernel-mode driver to write bus-received bytes into an attacker-chosen kernel address for an attacker-chosen length, and a write CCC transmits kernel memory out onto the I3C bus. The result is an out-of-bounds kernel write plus a kernel memory disclosure, i.e. escalation from a user-mode thread to supervisor privilege, defeating the isolation CONFIG_USERSPACE is meant to provide. The fix introduces copy_ccc_and_do(), which snapshots the payload, copies the target array into kernel memory with k_usermode_alloc_from_copy() (bounding num_targets to fewer than 32), validates each per-target buffer with K_SYSCALL_MEMORY() according to rnw, and copies the driver-written num_xfer and err fields back to the caller.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 3.2.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-19185?
How severe is CVE-2026-19185?
How do I fix CVE-2026-19185?
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-19177Insufficient validation of untrusted input in UI in Google C…8.3
- CVE-2026-19178IBM Storage TS4500 Library 1.1.1.6 through 1.12.0.3 could al…6.8
- CVE-2026-19179IBM Financial Transaction Manager (FTM) for RedHat OpenShift…8.2
- CVE-2026-1918IBM Sterling B2B Integrator 6.2.0.0 through 6.2.0.5_2, 6.2.1…4.9
- CVE-2026-19182An incorrect authorization check in the v2 Alarm REST API in…4.3
- CVE-2026-19184The NXP GAU ADC driver (drivers/adc/adc_mcux_gau_adc.c) vali…8.4
- CVE-2026-19186ieee802154_decipher_data_frame() in subsys/net/l2/ieee802154…8.1
- CVE-2026-19188A critical OS command injection vulnerability has been ident…10
- CVE-2026-19189A security flaw has been discovered in Power Sofware PowerIS…7.8
- CVE-2026-1919The Booking Calendar for Appointments and Service Businesses…5.3
- CVE-2026-19190A weakness has been identified in StableBit Scanner 2.6.13.4…7.8
- CVE-2026-19191A security vulnerability has been detected in StableBit Driv…7.8
Are you affected by CVE-2026-19185?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
