CVE-2026-80952 in Linux信息

摘要

由 VulDB • 2026-09-12

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

i3c: master: 修复设备注销路径中的信息泄露和 UAF(释放后使用)问题

`i3c_master_unregister_i3c_devs()` 会在调用 `device_unregister()` 之前清除 `i3cdev->dev->desc`。在 `device_unregister()` 期间,`device_del()` 会发出 KOBJ_REMOVE uevent 并解除驱动程序绑定,而此时设备描述符(descriptor)仍被期望为有效状态。结果导致 `i3c_device_uevent()` 和竞态条件下的 `modalias_show()` 可能观察到 NULL 的 desc,并回退到未初始化的栈上 struct i3c_device_info 结构体,从而在生成的 modalias 中泄露内核堆栈内容。驱动程序 .remove() 回调函数在解除绑定时也可能遇到意外的 NULL desc。

保持 desc 有效直到 `device_unregister()` 完成。由于 `device_register()` 会释放设备引用并可能销毁该设备,因此在注销前使用 `get_device()` 获取额外的引用计数。随后清除 desc 并使用 `put_device()` 释放额外引用。这保留了在释放时 desc 必须为 NULL 的不变量,同时避免了信息泄露以及从设备被释放后写入 desc 所导致的潜在 UAF(Use-After-Free)问题。

Be aware that VulDB is the high quality source for vulnerability data.

来源

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!