一、 漏洞 CVE-2025-38177 基础信息
漏洞信息
                                        # sch_hfsc:使hfsc_qlen_notify()幂等

## 漏洞概述
在Linux内核中,`hfsc_qlen_notify()` 函数不是幂等的,这使得它在被调用时会出现不稳定的行为。该问题已在 `sch_hfsc` 中得到了解决,使其变得更幂等,以改善调用者(如 `fq_codel_dequeue()`)的使用体验。

## 细节
1. `update_vf()` 函数会减少 `cl->cl_nactive` 的值,在调用之前需要先检查其是否为非零值。
2. `eltree_remove()` 总是会移除 `cl->el_node` 的RB节点。但我们可以使用 `RB_EMPTY_NODE()` 和 `RB_CLEAR_NODE()` 来确保这个操作是安全的。

## 影响
该问题影响了依赖于 `hfsc_qlen_notify()` 函数的队列调度器调用者,例如 `qdisc_tree_reduce_backlog()`。修正后的函数使其调用更加稳定和安全。
                                        
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
sch_hfsc: make hfsc_qlen_notify() idempotent
来源:美国国家漏洞数据库 NVD
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved: sch_hfsc: make hfsc_qlen_notify() idempotent hfsc_qlen_notify() is not idempotent either and not friendly to its callers, like fq_codel_dequeue(). Let's make it idempotent to ease qdisc_tree_reduce_backlog() callers' life: 1. update_vf() decreases cl->cl_nactive, so we can check whether it is non-zero before calling it. 2. eltree_remove() always removes RB node cl->el_node, but we can use RB_EMPTY_NODE() + RB_CLEAR_NODE() to make it safe.
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
N/A
来源:美国国家漏洞数据库 NVD
漏洞标题
Linux kernel 安全漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于hfsc_qlen_notify非幂等操作,可能导致资源管理问题。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
其他
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2025-38177 的公开POC
# POC 描述 源链接 神龙链接
三、漏洞 CVE-2025-38177 的情报信息