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

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-90001— Linux内核BPF结构体操作设备引用释放漏洞

一分钟漏洞结论

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

在 Linux 内核中,已解决以下漏洞: HID: bpf: 在 struct_ops 销毁路径中序列化设备引用释放 与 可能对同一注册引用产生竞态条件,导致对 进行双重释放(double-put),并在 仍在使用该设备时将其释放。 修复方法:在 下序列化“移除/置 NULL”的决策,确保仅有一条路径释放每个注册引用: 在锁保护下重新检查 ,若销毁路径已将其置为 NULL,则直接返回而不执行 put; 所有 调用均在释放锁之后执行,这是安全的,因为并发的 在锁保护下会观察到 。 背景: 每次成功挂载( )都会获取一

CVSS 7.8 · High EPSS 0.18% · P6

影响版本矩阵 10

厂商产品 版本范围状态
Linux Linux ebc0d8093e8c97de459615438edefad1a4ac352c< 401359684620145be710de97b87e1a47abfe1459 affected
ebc0d8093e8c97de459615438edefad1a4ac352c< c7f927aa8b55008ed5ea0814313d5dad771dcf3c affected
ebc0d8093e8c97de459615438edefad1a4ac352c< bfb7939788f3c8dd080a4dd81e38d625b35d194e affected
ebc0d8093e8c97de459615438edefad1a4ac352c< 9cdc7e6dc7a99ad7311ad5e7c145f2b9ce4e24b0 affected
6.11 affected
< 6.11 unaffected
6.12.110≤ 6.12.* unaffected
6.18.51≤ 6.18.* unaffected
… +2 条更多
获取后续新漏洞提醒 登录后订阅

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

漏洞信息

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

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

Vulnerability Title
HID: bpf: serialize device reference release in struct_ops destroy path
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: HID: bpf: serialize device reference release in struct_ops destroy path __hid_bpf_ops_destroy_device() and hid_bpf_unreg() can race on the same registration reference, double-putting struct hid_device and freeing it while hid_destroy_device() still uses it. Serialize the remove/NULL decision under hdev->bpf.prog_list_lock so exactly one path releases each registration reference: unreg re-checks ops->hdev under the lock and returns without putting when the destroy path already cleared it; all put_device() calls happen after the lock is dropped, which is safe because a concurrent unreg then observes ops->hdev == NULL under the lock. Background: each successful attach (hid_bpf_ops_reg) acquires one device reference (hid_get_device()). Two paths can release it: - device destruction: hid_destroy_device() -> hid_bpf_destroy_device() -> __hid_bpf_ops_destroy_device(), which walks hdev->bpf.prog_list under rcu_read_lock() and drops one reference per attached program; - BPF link release: bpf map delete (no BPF_F_LINK) synchronously calls st_ops->unreg() -> hid_bpf_unreg(), which drops the reference for its own registration. The coordination handshake (e->hdev = NULL on the destroy side vs "if (!hdev) return" on the unreg side) is a TOCTOU check: the two paths run under different lock domains (rcu_read_lock vs prog_list_lock), so a concurrent unreg can read ops->hdev as non-NULL, block on prog_list_lock, and then proceed while the destroy traversal executes - both paths then drop the same reference. The refcount reaches zero legitimately (each decrement is individually valid), so no refcount_t saturation fires: the device is simply freed while the transport is still inside hid_destroy_device(), and subsequent teardown touches freed memory. The fix serializes the remove/NULL decision under prog_list_lock on both sides and moves the destroy-side puts outside the lock. With the lock held, plain reads/writes of ops->hdev are sufficient; no READ_ONCE/WRITE_ONCE are added, keeping the patch minimal. Unlocked-read safety: the unlocked read of ops->hdev at the top of hid_bpf_unreg() cannot touch a freed device, because the unreg path itself still holds this registration's reference (released only by its own hid_put_device() after the lock is dropped), and a destroy traversal that already cleared ops->hdev makes the lock-internal re-check return early without any put. At most one of the two paths releases each registration reference.
来源: 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
N/A
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux ebc0d8093e8c97de459615438edefad1a4ac352c ~ 401359684620145be710de97b87e1a47abfe1459 -
Linux Linux 6.11 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

CVE-2026-90001 其他参考 (4)

同批安全公告 · Linux · 2026-09-16 · 共 276 条

CVE-2026-90048 9.8 CRITICAL Linux内核NTFS3文件系统越界写漏洞
CVE-2026-90012 9.8 CRITICAL SPI DMA映射所有权修复
CVE-2026-89970 9.8 CRITICAL NVM Target SQ拆除时超时工作未同步
CVE-2026-89857 9.8 CRITICAL QLogic qla2xxx NVMe LS拒绝竞态条件漏洞
CVE-2026-89969 9.8 CRITICAL Linux内核 nvmet-tcp 越界写入漏洞
CVE-2026-89847 9.8 CRITICAL qla2xxx SCSI驱动异步IOCB超时双重完成漏洞
CVE-2026-89972 9.8 CRITICAL NVMe驱动错误路径SRCU宽限期缺失漏洞
CVE-2026-89990 9.8 CRITICAL Ceph ceph_mds_check_access 互斥锁缺失漏洞
CVE-2026-90036 9.8 CRITICAL Linux NFSd 阻塞锁收割时释放后使用漏洞
CVE-2026-90038 9.8 CRITICAL Linux内核NFSD导出撤销后使用漏洞
CVE-2026-90037 9.8 CRITICAL Linux内核NFSD close_lru释放后使用漏洞
CVE-2026-89788 9.8 CRITICAL Linux kernel ksmbd 释放后使用漏洞
CVE-2026-89783 9.8 CRITICAL Linux内核 xfrm6 越界写入漏洞
CVE-2026-90042 9.8 CRITICAL Ceph 虚拟内存分配缓冲区文件名解密漏洞
CVE-2026-89778 9.8 CRITICAL isofs 空 zisofs 块页面数组越界访问漏洞
CVE-2026-89915 9.3 CRITICAL KVM arm64 移除虚拟机级 VNCR 映射计数器
CVE-2026-90049 9.3 CRITICAL 内核网络子系统中skb_zerocopy处理中的缺陷
CVE-2026-89775 9.3 CRITICAL KVM arm64 VNCR TLB大小计算漏洞
CVE-2026-89916 9.3 CRITICAL KVM arm64 VNCR失效重试漏洞
CVE-2026-89930 9.3 CRITICAL KVM嵌套虚拟化本地TLB刷新漏洞

显示前 20 条,共 276 条。 查看全部 &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-90001

暂无评论


发表评论