Linux Distros 未修补的漏洞:CVE-2026-46123

high Nessus 插件 ID 317630

简介

Linux/Unix 主机上安装的一个或多个程序包存在漏洞,但供应商表示不会修补此漏洞。

描述

Linux/Unix 主机中安装的一个或多个程序包受到一个漏洞影响,而供应商没有提供补丁程序。

- Bluetooth:virtio_bt:在 skb_put virtbt_rx_work() 调用 skb_put(skb, len) 之前钳制 rx 长度,其中 len 直接来自 virtqueue_get_buf(),且未针对发布到设备的缓冲区进行验证。RX skb 在 virtbt_add_inbuf() 中分配,并通过 sg_init_one() 正好作为 1000 字节暴露给 virtio。
针对 skb_tailroom(skb) 检查 len 是不够的,因为 alloc_skb() 可能预留比实际传递给设备的 1000 字节更多的尾部空间。因此,恶意或有缺陷的后端可在 1001 到 skb_tailroom(skb) 之间报告 used.len,从而导致 skb_put() 包含设备从未写入的未初始化内核堆字节。同一路径也接受 len == 0,在这种情况下,skb_put(skb, 0) 会将 skb 留空,但 virtbt_rx_handle() 仍然从 skb->data 读取 pkt_type 字节,从而消耗未初始化的内存。定义一次 VIRTBT_RX_BUF_SIZE 并在 alloc_skb() 和 sg_init_one() 中复用,然后在同一常量上保护 virtbt_rx_work(),以便检查的边界与实际暴露给设备的缓冲区匹配。拒绝同一门中的 used.len == 0,这样空完成就无法再访问 virtbt_rx_handle()。使用 bt_dev_err_ratelimited(),因为长度值来自不受信任的后端,否则可淹没内核日志。与提交 c04db81cd028 相同类别的缺陷(net/9p:修复 USB 传输层中的缓冲区溢出),针对未经检查的设备报告长度增强 USB 9p 传输。(CVE-2026-46123)

请注意,Nessus 依赖供应商报告的程序包是否存在进行判断。

解决方案

目前尚未有任何已知的解决方案。

另见

https://security-tracker.debian.org/tracker/CVE-2026-46123

插件详情

严重性: High

ID: 317630

文件名: unpatched_CVE_2026_46123.nasl

版本: 1.2

类型: Local

代理: unix

系列: Misc.

发布时间: 2026/5/29

最近更新时间: 2026/6/1

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.0

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.4

矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 分数来源: CVE-2026-46123

CVSS v3

风险因素: High

基本分数: 7.7

时间分数: 7.1

矢量: CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

时间矢量: CVSS:3.0/E:U/RL:U/RC:C

漏洞信息

CPE: p-cpe:/a:debian:debian_linux:linux, cpe:/o:debian:debian_linux:12.0

必需的 KB 项: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

易利用性: No known exploits are available

漏洞发布日期: 2026/5/28

参考资料信息

CVE: CVE-2026-46123