CVE-2025-38001 is a use-after-free vulnerability in the Linux kernel net_sched Hierarchical Fair Service Curve (HFSC) queuing discipline. Reentrant enqueue processing involving an HFSC class with NETEM can cause the same class to be inserted twice into HFSC's eligible-time tree (eltree). The incomplete activation check can be bypassed for classes using the HFSC_RSC scheduling flag because that path initializes eligibility state without updating the activity counter used by the prior guard. Duplicate insertion corrupts the red-black-tree state and normally causes an infinite loop in hfsc_dequeue(). If dequeue activity is delayed, the duplicated class can be freed while still reachable through the eltree, producing a use-after-free condition.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
3 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (2 hidden).
Repository contains a local Linux kernel privilege-escalation PoC for CVE-2025-38001 (HFSC scheduler eltree/RB-tree use-after-free). Structure: (1) exploit.c is the main exploit implementing namespace sandboxing, heap grooming, vulnerability trigger, and privilege escalation; (2) netlink_utils.h provides minimal static-link-friendly Netlink/RTNETLINK helpers to craft and send traffic-control (qdisc/class) messages; (3) Makefile builds a static binary; (4) README.md (Indonesian) documents that it is for research/learning and shows a successful root escalation on kernel 6.1.0-30-amd64. Exploit capabilities and flow (high level): - Sets up a sandbox with unshare(CLONE_NEWNS|CLONE_NEWUSER|CLONE_NEWNET), writes /proc/self/setgroups, /proc/self/uid_map, /proc/self/gid_map, and raises RLIMIT_NOFILE to allow many FDs. - Uses RTNETLINK (NETLINK_ROUTE) to create many dummy network interfaces and configure traffic control objects (qdisc/classes). The code includes handlers for qdisc/class types: tbf, hfsc, and netem, indicating it programs HFSC structures to reach the vulnerable code path. - Performs heap shaping/spraying using AF_PACKET PACKET_TX_RING allocations (page-vector allocations) and heavy FD spraying with pipes and signalfd objects. - After triggering the HFSC UAF, it searches sprayed memory (via pipe reads) for a marker pattern and then performs repeated partial overwrites by manipulating file->private_data to point into cred fields, using signalfd allocations to drive writes that zero out credential fields (the snippet indicates writing task credentials to zero via signalfd4()). - On success, it opens /proc/sys/kernel/modprobe (likely as a privilege/primitive check) and spawns an interactive root shell via system("/bin/sh"). No external network C2 endpoints are present; all interactions are local kernel interfaces (netlink, packet sockets, procfs).
This repository contains a full exploit chain for CVE-2025-38001, a use-after-free (UAF) vulnerability in the Linux kernel's HFSC (Hierarchical Fair Service Curve) qdisc implementation. The exploit targets Linux kernels 5.15, 6.1, and 6.6 (LTS) and is designed for local privilege escalation. The structure includes: - Multiple C source files implementing the exploit logic (notably `solution/exploit.c` and `exploit/lts-6.6.90/exploit.c`). - Netlink utility headers for low-level kernel communication. - Bash scripts (`shared/trigger.sh`, `shared/i.sh`) to set up the vulnerable traffic control environment on the loopback interface using `tc` and `ip` commands. - A minimal kernel module (`hevd/pagedev.c`) for heap manipulation. - Build scripts for compiling the exploit and setting up the environment, including Docker support for static builds. The exploit works by: 1. Setting up a specific qdisc/class/filter configuration on the loopback interface to trigger the UAF in the HFSC qdisc's eligible tree. 2. Manipulating kernel heap allocations to control the freed object. 3. Using signalfd and file structure manipulation to overwrite process credentials in kernel memory. 4. Gaining root privileges and spawning a root shell. The exploit is operational and provides a working local privilege escalation payload. It requires the ability to create user and network namespaces and access to the traffic control subsystem. The repository is well-structured, with clear separation between exploit logic, environment setup, and build tooling.
This repository contains a local privilege escalation exploit for CVE-2025-38001, a use-after-free vulnerability in the Linux kernel's HFSC eltree code. The exploit is implemented in C (exploit.c) and is supported by a header file (netlink_utils.h) that provides utilities for communicating with the kernel via Netlink sockets. The Makefile compiles the exploit statically. The README.md provides background, usage notes, and references to the vulnerability analysis and upstream kernel fix. The exploit works by manipulating network interfaces and traffic control (tc) subsystems via Netlink, creating a use-after-free condition in kernel memory. It leverages user namespaces and sandboxing to set up the environment, then performs heap spraying and object manipulation to overwrite task credentials, ultimately spawning a root shell. The exploit is designed for Debian 12 and kernelCTF instances but may be adapted to other Linux distributions with minor changes. Fingerprintable endpoints include several /proc files used for namespace and privilege manipulation, and /proc/sys/kernel/modprobe, which is often targeted in Linux privilege escalation exploits. The attack vector is local, requiring the attacker to execute code on the target system. The exploit is a proof-of-concept (POC) and demonstrates successful privilege escalation to root.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
35 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A Linux kernel HFSC network scheduler flaw in which reentrant enqueue operations can add a class to the eligible tree twice.
A Linux kernel HFSC network-scheduler flaw involving reentrant enqueue behavior that can add a class to the eligible tree twice.
A Linux kernel HFSC network-scheduler flaw involving reentrant enqueue operations that can add a class to the eligible tree twice.
A Linux kernel net_sched HFSC flaw involving reentrant enqueue operations that can add a class to the eligible-tree twice.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.