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

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-87041— RTIO 系统调用验证器内存权限检查反转漏洞

一分钟漏洞结论

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

在 文件中的 RTIO 提交队列验证函数 (在 v4.3.0 之前位于 中),使用 运算符将 的调用结果累加到其 标志位中。然而,该宏在失败时返回非零值(其底层基于 ,该宏的返回值为 ),因此每个缓冲区权限检查实际上贡献的是其结果的相反值。这导致:若提交队列条目(SQE)中的 、 或 / 指针对调用线程不可访问,该提交仍会被错误接受;而合法的、由线程拥有的缓冲区反而会导致调用线程因内核异常(kernel oops)而被终止。 该验证函数由 系统调用(也可通过内联包装函数 触发)代表执行,因此在任何启用了 配置构建的

CVSS 7.8 · High
获取后续新漏洞提醒 登录后订阅

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

漏洞信息

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

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

Vulnerability Title
Inverted memory-permission check in the RTIO syscall verifier allows a user-mode thread to read and write arbitrary kernel memory
来源: CVE Program / CVE List V5
Vulnerability Description
The RTIO submission-queue verifier rtio_vrfy_sqe() in subsys/rtio/rtio_syscalls.c (subsys/rtio/rtio_handlers.c before v4.3.0) accumulated the results of K_SYSCALL_MEMORY() into its valid_sqe flag with &=. That macro returns nonzero on failure (it is built on K_SYSCALL_VERIFY_MSG(), which yields !(expr)), so every buffer permission check contributed the opposite of its result. A submission whose tx.buf, rx.buf or txrx.tx_buf/txrx.rx_buf pointer was not accessible to the calling thread was accepted, while a legitimate, thread-owned buffer caused the calling thread to be killed with a kernel oops. The verifier runs on behalf of the rtio_sqe_copy_in_get_handles() system call (also reached through the inline rtio_sqe_copy_in() wrapper), so it is driven directly by untrusted user-mode input on any image built with CONFIG_USERSPACE. A user thread that has been granted an RTIO context and an rtio_iodev object — the intended usage of RTIO userspace support, established via rtio_access_grant() — can submit an SQE whose buffer pointer and length name arbitrary kernel memory; the object check on sqe->iodev is unaffected and still passes, and the crafted SQE is forwarded to the bus driver unchanged. Downstream consumers dereference the pointer with supervisor privilege. The generic I2C and I3C RTIO fallback handlers (drivers/i2c/i2c_rtio_default.c, drivers/i3c/i3c_rtio_default.c) copy sqe.rx.buf/sqe.tx.buf into struct i2c_msg and call i2c_transfer(), and the vendor SPI/I2C RTIO drivers behave equivalently. An RTIO_OP_RX submission therefore has peripheral data written into kernel memory of the attacker's choosing (arbitrary kernel write), an RTIO_OP_TX submission clocks kernel memory out over the bus (kernel memory disclosure), and a pointer to unmapped memory faults the kernel. This is a full escape from the user-mode isolation boundary that CONFIG_USERSPACE exists to enforce. The defect was masked for years because the in-tree user-mode RTIO tests only exercise RTIO_OP_NOP and mempool-backed reads, neither of which reaches the affected checks. The fix negates each K_SYSCALL_MEMORY() result and additionally validates the TXRX transmit buffer read-only, matching the SPI, I2C and I3C handlers.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
来源: CVE Program / CVE List V5
Vulnerability Type
跨界内存读
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
zephyrproject zephyr 3.3.0 ~ 4.3.2 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

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

同批安全公告 · zephyrproject · 2026-11-04 · 共 8 条

CVE-2026-16511 8.8 HIGH RTIO 系统调用验证器未验证用户指针漏洞
CVE-2026-87040 8.3 HIGH 蓝牙 LE 控制器越界读写漏洞
CVE-2026-87039 7.8 HIGH I2S 配置系统调用处理程序远程代码执行漏洞
CVE-2026-87038 7.0 HIGH Zephyr i3c_transfer() 竞态条件导致内核控制流劫持漏洞
CVE-2026-87044 6.5 MEDIUM Mbed TLS 加密组件远程拒绝服务漏洞
CVE-2026-85036 5.7 MEDIUM 蓝牙 AVDTP 会话重用导致系统工作队列损坏漏洞
CVE-2026-87043 4.8 MEDIUM glibc sys_rand_get 熵设备未就绪时返回未写缓冲区漏洞

IV. Related Vulnerabilities