Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-23111-PoC — Working Linux kernel nf_tables use-after-free local privilege escalation exploit for CVE-2026-23111, with KASLR bypass, ROP chain, and modprobe_path overwrite. | Kitploit
Tools/GitHubGitHub/vvsy46/cve-2026-23111-poc
Privilege EscalationVulnerability AnalysisExploitationPapers & ResearchLearning & EducationPayload DevelopmentBinary Exploitation
GitHubvvsy46/cve-2026-23111-poc

CVE-2026-23111-PoC

Working Linux kernel nf_tables use-after-free local privilege escalation exploit for CVE-2026-23111, with KASLR bypass, ROP chain, and modprobe_path overwrite.

View Repository
120h 41m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
CVE-2026-23111_exploit

CVE-2026-23111 — Linux Kernel nf_tables UAF → LPE

A working local-privilege-escalation exploit for CVE-2026-23111, a use-after-free in the Linux kernel nf_tables subsystem. Tested on linux-6.12.69 (x86-64).

Target requirements

The exploit assumes a target kernel built with:

OptionValueWhy
CONFIG_NF_TABLESyvulnerable subsystem
CONFIG_USER_NSydrive nf_tables unprivileged (user+net namespace)
CONFIG_RANDOMIZE_BASEyKASLR — defeated at runtime (Phase 1)
CONFIG_MEMCGyobjects land in kmalloc-cg-* caches (assumed by the spray)
CONFIG_STATIC_USERMODEHELPERnmodprobe_path must be writable
SLAB_FREELIST_RANDOM / HARDENEDnLIFO freelist keeps reclaim reliable

Offsets in offsets.h are specific to one kernel build — regenerate them for any other kernel


Repository layout


Build

Requires musl-gcc (sudo apt install musl-tools).

root@kitploit:~
make          # builds exp + rootme (static ELFs)
make clean    # remove built binaries

Both binaries are static so they run inside a minimal busybox initramfs with no shared libs. exp expects rootme next to it at /cve-2026-23111-poc/ on the target.


Porting to another kernel

offsets.h is generated from a specific build. For a different vmlinux:

root@kitploit:~
make offsets SYSTEM_MAP=/path/to/System.map

gen_offsets.sh extracts symbols (single_start, modprobe_path, init_ipc_ns, msleep, memcpy, …) and ROP gadgets, all as offsets from the kernel base. You will also need to re-verify the struct offsets baked into exp.c (nft_chain layout, nft_expr_ops.validate, init_ipc_ns + 0x110, msg_queue.q_messages, xa_node.slots) with pahole / disassembly if your kernel differs meaningfully from 6.12.x.


Disclaimer

This code is published for defensive security research and education. It targets a lab VM running a known-vulnerable kernel. Do not use it against systems you do not own or are not authorized to test. The author assumes no liability for misuse.

Download Tool
FilePurpose
exp.cThe exploit (Phases 1 → 4).
rootme.cTiny static setuid(0); execl("/bin/sh") helper used to land a root shell.
netlink_min.hMinimal Netlink definitions (built against musl, no kernel uapi headers).
offsets.hkbase-relative symbol/gadget offsets for the target kernel.
gen_offsets.shRegenerates offsets.h from a kernel System.map / vmlinux.
MakefileBuilds exp and rootme as static musl ELFs.