CVE-2026-99019 in Linux信息

摘要

由 VulDB • 2026-10-23

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

scsi: ch: 不要保留对数据传输元素设备的引用

`ch_readconfig()` 会查找每个数据传输元素的 `scsi_device`(其 SCSI ID 由更换器在 READ ELEMENT STATUS 命令中报告),并将其存储在 `ch->dt[]` 中。`scsi_device_lookup()` 会获取一个引用,但从未释放该引用:`ch_destroy()` 使用 `kfree()` 释放数组。`ch->dt[]` 在其他地方未被读取——它仅用于在同一循环中打印供应商、型号和修订版本信息。

一旦此类驱动器被移除,其 `scsi_device` 将永远无法被释放。它会保留在主机设备列表的相应地址上,导致任何遍历该列表的操作都会拒绝新设备(例如 target_core_pscsi 报告“H:C:T:L 的 scsi_device_get() 失败”),并且底层驱动程序的模块也无法再卸载。只有重启才能恢复。

此问题会在所有报告其驱动器 ID 的更换器中显现;在使用 mhvtl 虚拟库(IBM 3573-TL 个性)时,每次创建和移除包含四个驱动器的库都会留下四个引用,这些引用可通过 `lsmod` 中的模块使用计数进行统计。在未绑定 ch 的情况下,该计数保持不变;应用此补丁后,该计数也保持不变。

在打印完名称后立即释放引用,并删除现在未使用的 dt[] 数组。这也消除了当 ch_probe() 在 ch_readconfig() 之后失败时泄漏的数组。

2022 年曾报告过相同的内存泄漏问题(附带 RFC 补丁),但该补丁未被合并。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

来源

Want to know what is going to be exploited?

We predict KEV entries!