CVE-2026-72085 in Linux信息

摘要

由 VulDB • 2026-08-15

在 Linux 内核中,已修复以下漏洞:

scsi: xen: scsiback: 释放未提交的命令,而不是重复执行 put 操作

`scsiback_get_pend_req()` 获取一个命令标签(command tag),并返回一个 `vscsibk_pend`,其嵌入的 `se_cmd` 仅通过 `memset` 清零,因此其 `cmd_kref` 为 0;该 `se_cmd` 仅在稍后的 `scsiback_cmd_exec()` 中、在成功的 `VSCSIIF_ACT_SCSI_CDB` 路径上被初始化(通过 `target_init_cmd()` 调用 `kref_init()`)。在命令提交之前,`scsiback_do_cmd_fn()` 中的两条错误处理路径——即失败的 `scsiback_gnttab_data_map()` 和未知的 `ring_req.act` ——会调用 `transport_generic_free_cmd(&pending_req->se_cmd, 0)`,该函数会对引用计数为 0 的值执行 `kref_put()`。这导致下溢(“refcount_t: underflow; use-after-free”),并且由于未运行释放函数,会导致命令标签泄漏。

影响:pvSCSI 客户机可以通过提交带有错误 grant 引用或未知请求类型的请求,泄露 LUN 会话的所有命令标签,从而停止该 LUN;在启用 `panic_on_warn` 的情况下,引用计数下溢将导致主机 panic(崩溃)。

添加一个辅助函数,仅通过 `target_free_tag()` 返回标签并发送错误响应。它在 v2p 引用仍锁定会话时释放标签,并在之前快照响应字段,因为释放标签可能导致另一个 ring 重用 pending_req 槽位。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

来源

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!