Linux Distros 未修补的漏洞: CVE-2025-21823

medium Nessus 插件 ID 230615

简介

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

描述

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

- 在 Linux 内核中,已解决以下漏洞: batman-adv: Drop unmanaged ELP metric worker The ELP worker needs to calculate new metric values for all neighbors reachable over an interface. Some of the used metric sources require locks which might need to sleep. This sleep is incompatible with the RCU list iterator used for the recorded neighbors. The initial approach to work around of this problem was to queue another work item per neighbor and then run this in a new context.
Even when this solved the RCU vs might_sleep() conflict, it has a major problems: Nothing was stopping the work item in case it is not needed anymore - for example because one of the related interfaces was removed or the batman-adv module was unloaded - resulting in potential invalid memory accesses. Directly canceling the metric worker also has various problems: * cancel_work_sync for a to-be-deactivated interface is called with rtnl_lock held. But the code in the ELP metric worker also tries to use rtnl_lock() - which will never return in this case. This also means that cancel_work_sync would never return because it is waiting for the worker to finish. * iterating over the neighbor list for the to-be-deactivated interface is currently done using the RCU specific methods. Which means that it is possible to miss items when iterating over it without the associated spinlock - a behaviour which is acceptable for a periodic metric check but not for a cleanup routine (which must stop all still running workers) The better approch is to get rid of the per interface neighbor metric worker and handle everything in the interface worker. The original problems are solved by: * creating a list of neighbors which require new metric information inside the RCU protected context, gathering the metric according to the new list outside the RCU protected context * only use rcu_trylock inside metric gathering code to avoid a deadlock when the cancel_delayed_work_sync is called in the interface removal code (which is called with the rtnl_lock held) (CVE-2025-21823)

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

解决方案

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

插件详情

严重性: Medium

ID: 230615

文件名: unpatched_CVE_2025_21823.nasl

版本: 1.1

类型: local

代理: unix

系列: Misc.

发布时间: 2025/3/6

最近更新时间: 2025/3/6

支持的传感器: Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 5.0

CVSS v2

风险因素: Medium

基本分数: 5

时间分数: 3.7

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

CVSS 分数来源: CVE-2025-21823

CVSS v3

风险因素: Medium

基本分数: 6.1

时间分数: 5.3

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

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

漏洞信息

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

易利用性: No known exploits are available

漏洞发布日期: 2025/2/27

参考资料信息

CVE: CVE-2025-21823