目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-19595— Zephyr RTIO 系统调用验证器读写参数验证错误

一分钟漏洞结论

影响对象
zephyrproject zephyr
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

在 中,用户态系统调用验证函数 对其两个输出参数 和 使用了 进行验证,而实际上应使用 。这两个参数均为纯输出参数:底层实现函数 正是通过它们来存储内存池缓冲区的地址及其长度。 所有架构的验证器均严格区分读写权限:RISC-V 架构的 函数在 PMP(物理内存保护)机制下,仅允许对全局只读区域(如 和 )进行读操作验证;ARM 架构的 MPU 验证器同样仅接受标记为 (特权可读、用户可读)或 (特权可读/写、用户可读)的区域用于读操作验证。因此,经过“读权限”验证的指针,并不一定对调用线程具备写权限。 若一个非特权

CVSS 6.1 · Medium
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-19595 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
Zephyr RTIO syscall verifier validates output parameters for read instead of write access
来源: CVE Program / CVE List V5
Vulnerability 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.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
来源: CVE Program / CVE List V5
Vulnerability Type
跨界内存写
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
zephyrproject zephyr 3.4.0 ~ 4.4.2 -

二、漏洞 CVE-2026-19595 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-19595 的情报信息

请登录查看更多情报信息。

CVE-2026-19595 其他参考 (2)

同批安全公告 · zephyrproject · 2026-10-19 · 共 4 条

CVE-2026-76788 8.8 HIGH OSDP Control Panel 越界写漏洞
CVE-2026-76787 5.9 MEDIUM UpdateHub FOTA 客户端空指针解引用漏洞
CVE-2026-77684 5.7 MEDIUM 蓝牙经典 HFP:TX 缓冲区泄漏致永久拒绝服务漏洞

IV. Related Vulnerabilities

V. Comments for CVE-2026-19595

暂无评论


发表评论