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

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-87043— glibc sys_rand_get 熵设备未就绪时返回未写缓冲区漏洞

一分钟漏洞结论

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

在 中,熵设备随机数生成器在 失败后,立即从 返回 ,从而未能执行同一函数中更靠后的非密码学系统定时器回退机制。由于 的返回类型为 并丢弃了该错误,且面向公众的 系统调用本身也声明为 (因此无法报告失败),调用方的输出缓冲区未被修改,其原有内容被直接作为“随机数据”返回。由于存在封装层极薄的接口,这实质上构成了未初始化内存读取漏洞: 声明了 ,调用 后直接返回 。 “未就绪”状态属于正常的运行时情况,而非故障。熵驱动在 阶段初始化,其优先级由 配置(默认为 50),因此任何更早初始化的内核对象(运行优先级为 30)

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

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

漏洞信息

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

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

Vulnerability Title
sys_rand_get() silently returns an unwritten buffer when the entropy device is not ready
来源: CVE Program / CVE List V5
Vulnerability Description
The entropy-device random number generator in subsys/random/random_entropy_device.c returned early with -ENODEV from rand_get() as soon as device_is_ready() failed, before reaching the non-cryptographic system-timer fallback further down the same function. Because z_impl_sys_rand_get() returns void and discards that error — and the public sys_rand_get() syscall is itself declared void, so it cannot report failure — the caller's output buffer was left untouched and its previous contents were handed back as random data. The thin wrappers make this a plain uninitialized read: sys_rand32_get() declares uint32_t ret;, calls sys_rand_get(&ret, sizeof(ret)) and returns ret. The "not ready" state is a normal runtime condition rather than a fault. Entropy drivers initialise at PRE_KERNEL_1 with CONFIG_ENTROPY_INIT_PRIORITY (default 50), so any earlier initialiser — kernel objects run at priority 30 — observes an unready device; the sibling generator subsys/random/random_xoshiro128.c and z_early_rand_get() in kernel/init.c both already carried an explicit timer fallback for exactly this case. The state is also permanent for the boot when an entropy driver's init hook fails, which several in-tree drivers can do on real hardware (entropy_stm32 on an RNG clock configuration error, entropy_psa_crypto when psa_crypto_init() fails, entropy_nrf_cracen, entropy_esp32, entropy_virtio). When this occurs, every non-cryptographic random value in the system is either a constant or stale memory. coap_next_token() in subsys/net/lib/coap/coap.c fills a static buffer, so every CoAP token becomes the same .bss constant; tcp_init_isn() in subsys/net/ip/tcp.c returns an uninitialized stack word as the TCP initial sequence number; DHCPv4/DHCPv6 transaction IDs, WebSocket masking keys and RTP SSRCs are similarly degraded, and arch/arm64/core/pac.c derives per-thread Pointer Authentication keys from the same source. Where the bytes are transmitted directly — SSH packet padding, the netmidi2 session nonce, a DTLS connection ID on builds without CONFIG_CSPRNG_ENABLED — stale caller stack or heap contents are disclosed on the wire. The fix initialises ret to -ENODEV and only calls entropy_get_entropy() when the device is ready, so the not-ready case now falls through to the timer fallback and the buffer is always written. The cryptographically secure path is unchanged: sys_csrand_get() still propagates the error to the caller and never silently degrades. An attacker cannot induce the unready state, but can observe and exploit the resulting non-random values remotely on an affected device.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
来源: CVE Program / CVE List V5
Vulnerability Type
使用不充分的随机数
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
zephyrproject zephyr 4.4.0 ~ 4.5.0 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

CVE-2026-87043 其他参考 (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-87041 7.8 HIGH RTIO 系统调用验证器内存权限检查反转漏洞
CVE-2026-87038 7.0 HIGH Zephyr i3c_transfer() 竞态条件导致内核控制流劫持漏洞
CVE-2026-87044 6.5 MEDIUM Mbed TLS 加密组件远程拒绝服务漏洞
CVE-2026-85036 5.7 MEDIUM 蓝牙 AVDTP 会话重用导致系统工作队列损坏漏洞

IV. Related Vulnerabilities