Linux Distros 未修補的弱點:CVE-2025-39996

critical Nessus Plugin ID 271528

概要

Linux/Unix 主機上安裝的一個或多個套件存有弱點,供應商表示將不會修補。

說明

Linux/Unix 主機上安裝了一個或多個受到弱點影響的套件,且供應商未提供可用的修補程式。

- mediab2c2修正 flexcop_pci_remove 中的 irq_check_work 造成的釋放後使用。原始程式碼在 flexcop_pci_remove() 中使用 cancel_delayed_work()如果已執行延遲的工作項目 irq_check_work則無法保證其已完全完成。這會導致釋放後使用狀況在此情況下flexcop_pci_remove() 可能會在 irq_check_work 仍作用中且嘗試解除參照裝置時釋放 flexcop_device。典型爭用情形如下圖所示CPU 0 (移除) | CPU 1 (延遲工作回呼) flexcop_pci_remove() | flexcop_pci_irq_check_work() cancel_delayed_work() | flexcop_device_kfree(fc_pci->fc_dev) | | fc = fc_pci->fc_dev; // UAF 這已由 KASAN 報告確認
================================================== ================ 錯誤KASAN 中的平台釋放後使用
__run_timer_base.part.0+0x7d7/0x8c0 工作在 addr ffff8880093aa8c8 寫入大小為 8 的 bash/135 ... 呼叫追踪 <IRQ> dump_stack_lvl+0x55/0x70 print_report+0xcf/0x610 __run_timer_base.part.0+0x7d7/0x8c0 kasan_report+0xb8/0xf0 __run_timer_base.part.0+0x7d7/0x8c0 __run_timer_base.part.0+0x7d7/0x8c0 ?
__pfx___run_timer_base.part.0+0x10/0x10 ? __pfx_read_tsc+0x10/0x10 ? ktime_get+0x60/0x140 ? lapic_next_event+0x11/0x20 ? clockevents_program_event+0x1d4/0x2a0 run_timer_softirq+0xd1/0x190 handle_softirqs+0x16a/0x550 irq_exit_rcu+0xaf/0xe0 sysvec_apic_timer_interrupt+0x70/0x80 </IRQ>...
由工作 1 分配kasan_save_stack+0x24/0x50 kasan_save_track+0x14/0x30 __kasan_kmalloc+0x7f/0x90
__kmalloc_noprof+0x1be/0x460 flexcop_device_kmalloc+0x54/0xe0 flexcop_pci_probe+0x1f/0x9d0 local_pci_probe+0xdc/0x190 pci_device_probe+0x2fe/0x470 real_probe+0x1ca/0x5c0
__driver_probe_device+0x248/0x310 driver_probe_device+0x44/0x120 __driver_attach+0xd2/0x310 bus_for_each_dev+0xed/0x170 bus_add_driver+0x208/0x500 driver_register+0x132/0x460 do_one_initcall+0x89/0x300 kernel_init_freeable+0x40d/0x720 kernel_init+0x1a/0x150 ret_from_fork+0x10c/0x1a0 ret_from_fork_asm+0x1a/0x30 Freed by task 135: kasan_save_stack+0x24/0x50 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3a/0x60 __kasan_slab_free+0x3f/0x50 kfree+0x137/0x370 flexcop_device_kfree+0x32/0x50 pci_device_remove+0xa6/0x1d0 device_release_driver_internal+0xf8/0x210 pci_stop_bus_device+0x105/0x150 pci_stop_and_remove_bus_device_locked+0x15/0x30 remove_store+0xcc/0xe0 kernfs_fop_write_iter+0x2c3/0x440 vfs_write+0x871/0xd70 ksys_write+0xee/0x1c0 do_syscall_64+0xac/0x280 entry_SYSCALL_64_after_hwframe+0x77/0x7f ... 將 cancel_delayed_work() 取代為 cancel_delayed_work_sync()可確保在解除配置裝置記憶體之前正確取消延遲的工作項目且所有執行中的延遲工作皆已完成。此錯誤最初是透過靜態分析發現的。為了重現和測試它我在 QEMU 中模擬了 B2C2 FlexCop PCI 裝置並在 flexcop_pci_irq_check_work() 函式中引入了假造延遲以增加觸發該錯誤的可能性。
(CVE-2025-39996)

請注意,Nessus 依賴供應商報告的套件存在。

解決方案

目前尚未有已知的解決方案。

另請參閱

https://security-tracker.debian.org/tracker/CVE-2025-39996

Plugin 詳細資訊

嚴重性: Critical

ID: 271528

檔案名稱: unpatched_CVE_2025_39996.nasl

版本: 1.1

類型: local

代理程式: unix

系列: Misc.

已發布: 2025/10/27

已更新: 2025/10/27

支援的感應器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

時間性分數: 6.4

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 評分資料來源: CVE-2025-39996

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:14.0, cpe:/o:debian:debian_linux:11.0, p-cpe:/a:debian:debian_linux:linux, cpe:/o:debian:debian_linux:13.0, cpe:/o:debian:debian_linux:12.0

必要的 KB 項目: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

可輕鬆利用: No known exploits are available

弱點發布日期: 2025/10/15

參考資訊

CVE: CVE-2025-39996