CVE-2025-38001

Source
https://cve.org/CVERecord?id=CVE-2025-38001
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38001.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-38001
Downstream
Related
Published
2025-06-06T13:41:45.462Z
Modified
2026-03-23T05:03:35.941567407Z
Summary
net_sched: hfsc: Address reentrant enqueue adding class to eltree twice
Details

In the Linux kernel, the following vulnerability has been resolved:

net_sched: hfsc: Address reentrant enqueue adding class to eltree twice

Savino says: "We are writing to report that this recent patch (141d34391abbb315d68556b7c67ad97885407547) [1] can be bypassed, and a UAF can still occur when HFSC is utilized with NETEM.

The patch only checks the cl->cl_nactive field to determine whether
it is the first insertion or not [2], but this field is only
incremented by init_vf [3].

By using HFSC_RSC (which uses init_ed) [4], it is possible to bypass the
check and insert the class twice in the eltree.
Under normal conditions, this would lead to an infinite loop in
hfsc_dequeue for the reasons we already explained in this report [5].

However, if TBF is added as root qdisc and it is configured with a
very low rate,
it can be utilized to prevent packets from being dequeued.
This behavior can be exploited to perform subsequent insertions in the
HFSC eltree and cause a UAF."

To fix both the UAF and the infinite loop, with netem as an hfsc child, check explicitly in hfscenqueue whether the class is already in the eltree whenever the HFSCRSC flag is set.

[1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=141d34391abbb315d68556b7c67ad97885407547 [2] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/schhfsc.c#L1572 [3] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/schhfsc.c#L677 [4] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/schhfsc.c#L1574 [5] https://lore.kernel.org/netdev/8DuRWwfqjoRDLDmBMlIfbrsZg9Gx50DHJc1ilxsEBNe2D6NMoigReIRIG0LOjMc3r10nUUZtArXx4oZBIdUfZQrwjcQhdinnMis_0G7VEk=@willsroot.io/T/#u

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38001.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
37d9cf1a3ce35de3df6f7d209bfb1f50cf188cea
Fixed
e5bee633cc276410337d54b99f77fbc1ad8801e5
Fixed
6672e6c00810056acaac019fe26cdc26fee8a66c
Fixed
2c928b3a0b04a431ffcd6c8b7d88a267124a3a28
Fixed
a0ec22fa20b252edbe070a9de8501eef63c17ef5
Fixed
295f7c579b07b5b7cf2dffe485f71cc2f27647cb
Fixed
2f2190ce4ca972051cac6a8d7937448f8cb9673c
Fixed
4e38eaaabfb7fffbb371a51150203e19eee5d70e
Fixed
39ed887b1dd2d6b720f87e86692ac3006cc111c8
Fixed
ac9fe7dd8e730a103ae4481147395cc73492d786

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38001.json"