CVE-2026-9771
HIGHDescription
The flash_copy() system call is verified by z_vrfy_flash_copy() in drivers/flash/flash_util.c. On builds with CONFIG_USERSPACE enabled, this handler is the kernel-side trust boundary for a user-mode caller. Prior to the fix it validated only the output buffer (K_SYSCALL_MEMORY_WRITE) and passed the two struct device * arguments, src_dev and dst_dev, directly into the implementation without any object validation — unlike every sibling flash syscall, which guards its device pointer with K_SYSCALL_DRIVER_FLASH. A user-mode thread fully controls the values of src_dev/dst_dev and the contents of its own address space. The implementation z_impl_flash_copy() dereferences these pointers and calls through their driver-API function tables (e.g. api->get_parameters(dst_dev), flash_read(src_dev, ...), flash_write(dst_dev, ...)). By supplying a pointer to a forged struct device whose api table contains attacker-chosen function pointers, an unprivileged thread can cause the kernel to call arbitrary code in supervisor mode; passing any arbitrary or invalid address otherwise yields a kernel crash or out-of-bounds read. The result is a local privilege escalation out of the userspace sandbox (with kernel denial-of-service and information disclosure as lesser outcomes). The fix adds K_SYSCALL_DRIVER_FLASH(src_dev, read) and K_SYSCALL_DRIVER_FLASH(dst_dev, write) to z_vrfy_flash_copy(), which verify each device is a registered flash-driver kernel object the calling thread is permitted to use before any dereference, closing the path completely.
How to fix
No published remediation has been found for this vulnerability's affected products yet.
Mitigation guidance may be in the linked vendor advisories in the References section below.
TridentStack Control tracks known vulnerabilities across your Windows, macOS, and Linux fleet and shows the fix as soon as one is published. See how it works
CVSS v3 Vector
Exploitability
Impact
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Exploit Intelligence
Low risk: more likely to be exploited than 1% of all known CVEs.
References
Related Vulnerabilities
Other CWE-822 (Untrusted Pointer Dereference) vulnerabilities, ordered by exploit likelihood. View all
| CVE | Severity | CVSS | EPSS | Exploited | Fix |
|---|---|---|---|---|---|
| CVE-2023-21768 | High | 7.8 | 65% | - | Fix |
| CVE-2024-21338 | High | 7.8 | 60% | KEV + Ransom | Fix |
| CVE-2024-35250 | High | 7.8 | 25% | KEV | Fix |
| CVE-2023-29360 | High | 8.4 | 22% | KEV | Fix |
| CVE-2023-36033 | High | 7.8 | 12% | KEV | Fix |
| CVE-2025-50165 | Critical | 9.8 | 9.5% | - | Fix |
Common questions
How do I fix CVE-2026-9771?
No published fix for CVE-2026-9771 has been found yet. Check the linked vendor advisories for guidance as it becomes available.
Is CVE-2026-9771 being actively exploited?
Not that we know of. CVE-2026-9771 is not in the CISA Known Exploited Vulnerabilities catalog. Its EPSS score of 0.11% is the estimated probability that it will be exploited in the next 30 days. That is higher than 1% of all scored CVEs.
How severe is CVE-2026-9771?
CVE-2026-9771 has a CVSS v3 base score of 8.8, rated high. CVSS rates the technical impact if the vulnerability is exploited, not how likely that is, so weigh it alongside the exploit-prediction score when you decide what to patch first.
Embed a live status badge for CVE-2026-9771
Markdown
[](https://tridentstack.com/cve/CVE-2026-9771)HTML
<a href="https://tridentstack.com/cve/CVE-2026-9771"><img src="https://tridentstack.com/cve/badge/CVE-2026-9771.svg" alt="CVE-2026-9771"></a>Find and fix vulnerabilities across your fleet
TridentStack Control continuously scans your Windows, macOS, and Linux fleet for known vulnerabilities, prioritizes them by severity and active exploitation, and patches them automatically.
This product uses NVD data but is not endorsed or certified by the NVD. EPSS scores courtesy of FIRST.org (https://www.first.org/epss). Source: CISA KEV Catalog. Data as of 2026-08-26.