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

critical Nessus 插件 ID 335543

简介

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

描述

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

- xprtrdma:将 req 回收与 RPC 完成分离 rl_kref 以前通过单个 refcount 提供两个不同的生命周期:它会在 Reply 何时唤醒其 RPC 任务进行门控,以及当 rpcrdma_req 何时可以返回到其空闲池。仅当 SGE 需要 DMA 取消映射 (sc_unmap_count > 0) 时,封送路径才采用发送端引用,这使得仅携带预注册缓冲区的发送成为异常:回复处理程序将 rl_kref 从 1 降至 0,并在 HCA 可能仍从其发送缓冲区进行 DMA 读取时释放 req。给rl_kref一个更窄的工作。RPC 层在插槽分配发出 req 时采用一个引用。rpcrdma_prepare_send_sges() 在 WR 准备成功后无条件获取发送端引用。xprt_rdma_free_slot() 和 xprt_rdma_bc_free_rqst() 丢弃 RPC 层引用;
rpcrdma_sendctx_unmap() 丢弃发送端引用。只有在两位所有者都签字后,req 才会返回其免费池。删除了 rpcrdma_prepare_send_sges() 中现有的 kref_init(&req->rl_kref) 调用。初始化移动到插槽分配路径(xprt_rdma_alloc_slot和 rpcrdma_bc_rqst_get),释放回调在 req 返回到空闲池之前重新布防rl_kref。封送路径中的重新初始化会丢弃条目时已存在的 RPC 层引用。以下有三个不变量:- rpc_rqst持有的任何rpcrdma_req具有 rl_kref >= 1。xprt_rdma_alloc_slot()、rpcrdma_bc_rqst_get() 和 xprt_rdma_alloc_slot() 中的 backlog-wake 分支在发布 req 之前kref_init rl_kref。如果没有此不变量,在插槽分配和封送之间中止的 RPC 任务(例如,gss_refresh call_connect期间发生故障或发出信号)将针对零的 refcount 驱动 xprt_release() -> xprt_rdma_free_slot() -> kref_put,从而使refcount_t饱和并搁浅插槽。- 仅在 WR 准备成功后获取发送端引用。rpcrdma_prepare_send_sges() 中的映射失败运行 rpcrdma_sendctx_cancel(),其会 DMA 取消映射 sendctx 并在不接触 rl_kref 的情况下清除sc_req。sendctx 环穿过含有 sc_req == NULL 的 rpcrdma_sendctx_put_locked() 和 rpcrdma_sendctxs_destroy() 跳过条目,因此突发 -EIO 封送组失败无法阻止 reqs 关闭rb_send_bufs。- 释放回调重新武装rl_kref以便下一个使用者在满足不变量的情况下进入。回复现在直接完成 RPC。
rpcrdma_reply_handler() 调用 rpcrdma_complete_rqst() 代替非 LocalInv 分支上的kref_put。LocalInv 分支已从 frwr_unmap_async() 完成 RPC,不受影响。由于发送端引用现在可超过 RPC 完成,因此连接破坏会耗尽其无信号的发送从未在之后有信号完成以遍历环路的 sendctx 条目。在重置请求缓冲区之前,rpcrdma_sendctxs_destroy() 遍历活动范围并在每个条目上使用非 NULL sc_req运行 rpcrdma_sendctx_unmap(),并且在 rpcrdma_xprt_disconnect() 中移到 rpcrdma_reqs_reset() 之前,因此释放发送端引用时 reqs 仍处于预重置状态。漏在反向通道路径上造成拆卸排序危险。在新的生命周期中,从 rpcrdma_req_release() 释放 bc_prealloc req 会将其重新添加到 bc_pa_list。xprt_rdma_destroy() 中的断开连接在 xprt_destroy_backchannel() 已清空 bc_pa_list 之后运行,因此耗尽的 reqs 否则将会泄漏。xprt_rdma_destroy() 现在会在断开连接后第二次运行 xprt_rdma_bc_destroy(xprt, 0) 以回收它们。(CVE-2026-72473)

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

解决方案

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

另见

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

插件详情

严重性: Critical

ID: 335543

文件名: unpatched_CVE_2026_72473.nasl

版本: 1.1

类型: Local

代理: unix

系列: Misc.

发布时间: 2026/8/15

最近更新时间: 2026/8/15

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: Low

分数: 3

百分位: 23.67

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.4

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

CVSS 分数来源: CVE-2026-72473

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9

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

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

漏洞信息

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

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

易利用性: No known exploits are available

漏洞发布日期: 2026/8/15

参考资料信息

CVE: CVE-2026-72473