Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
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.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
cve-2026-99999-scanner — Checks whether a Linux system is affected by CVE-2026-99999 (PwnEscape) and prints or applies the distribution-specific kernel fix | Kitploit
Tools/GitHubGitHub/sqzer-x/cve-2026-99999-scanner
Defensive ToolsVulnerability ScannersVulnerability AnalysisScripting & AutomationConfiguration AuditingIncident Response
GitHubsqzer-x/cve-2026-99999-scanner

cve-2026-99999-scanner

Checks whether a Linux system is affected by CVE-2026-99999 (PwnEscape) and prints or applies the distribution-specific kernel fix

View Repository
11215 days 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-99999 Scanner

English | 한국어

A single shell script that checks whether a Linux system is affected by CVE-2026-99999 ("PwnEscape"). It explains the verdict, then either prints the patch steps for that distribution or patches and reboots the system for you.

The vendor data embedded in the script is current as of 2026-10-20. Advisories change quickly, so always confirm with your distribution's security tracker.

The vulnerability

ComponentLinux kernel IPv4 stack (skb_checksum_help → ip_do_fragment)
Causechecksum_start / csum_offset supplied through the virtio-net header or packet sockets is not validated against the IPv4 header. Completing the checksum can then overwrite the already-validated header length (CWE-20).
ImpactGuest VM → host: host memory disclosure, host crash, code execution as root on the host
SeverityCVSS 3.1 9.3 Critical (kernel CNA) · 8.8 Important (Red Hat)
AffectedEvery kernel since 2.6.27
FixUpstream commit 6785011f8b16 "ipv4: validate checksum_start before completing checksum"
WorkaroundNone published. The only fix is to boot a fixed kernel.

The main risk is to virtualization hosts that run untrusted guests (KVM/QEMU, Firecracker, Proxmox, cloud and VPS hosts). Patching a guest's kernel does not protect the host.

Files

FileDescription
scanner-cve-2026-99999.shThe scanner, English output
scanner-cve-2026-99999_kr.shThe same scanner, Korean output

Both files contain the same logic; only the messages and comments differ.

Checksums (v1.0.0)

FileSHA-256MD5
scanner-cve-2026-99999.sh65c3c226487d5bd80d436c06cc5256304cfa17011be82d8404c54355998801a68ab38c22ed737986775f6f64f5a800aa
scanner-cve-2026-99999_kr.sh05d4af248ab2cab26566c81067ed35dd0a8c966f7fa8459867597c56ac43a8056223f8db3c1a8dec361fe301a7193ff4

Verify the file before running it:

echo "65c3c226487d5bd80d436c06cc5256304cfa17011be82d8404c54355998801a6  scanner-cve-2026-99999.sh" | sha256sum -c
echo "8ab38c22ed737986775f6f64f5a800aa  scanner-cve-2026-99999.sh" | md5sum -c

These values are for the files in the v1.0.0 release. Files on later commits may differ.

Quick start

From the release (recommended):

curl -LO https://github.com/sqzer-x/cve-2026-99999-scanner/releases/download/v1.0.0/scanner-cve-2026-99999.sh
echo "65c3c226487d5bd80d436c06cc5256304cfa17011be82d8404c54355998801a6  scanner-cve-2026-99999.sh" | sha256sum -c
sudo bash scanner-cve-2026-99999.sh

Or from the repository:

git clone https://github.com/sqzer-x/cve-2026-99999-scanner.git
cd cve-2026-99999-scanner
sudo bash scanner-cve-2026-99999.sh

Run it on the host, not inside a container. Checking works as a regular user; root (through sudo) is only needed for menu option 1.

What it does

  1. Detects the distribution (/etc/os-release) and the running kernel (/proc).

  2. Judges the kernel:

    • against the fixed versions published by the vendor (AlmaLinux, Oracle UEK, Amazon Linux, Debian), or
    • against the upstream stable fixed versions (Fedora, Arch, openSUSE Tumbleweed, Alpine, Gentoo, WSL2, ...), or
    • for distributions that have not released a fix yet (RHEL family, Ubuntu, SUSE), by searching the installed kernel package changelog for the CVE id or the fix commit — so a fix released after 2026-10-20 is still recognized.
  3. Checks for an applied livepatch (kpatch, Canonical Livepatch, SUSE kernel-livepatch, Ksplice), a fixed kernel that is installed but not booted yet, and whether the next boot kernel is fixed.

  4. Reports exposure indicators: /dev/kvm, vhost_net, TUN/TAP devices, VM processes (QEMU, Firecracker, Proxmox kvm, ...), user namespace settings.

  5. If the system is not safe, offers a menu:

    1. Patch now (install the fixed kernel and reboot)
    2. Patch manually later (show the commands)
    3. Exit
    

    When not run from a terminal (cron, pipes, output redirected to a file), no menu is shown and it behaves like option 2.

Options

OptionDescription
-l, --listPrint only the per-distribution status table
--no-colorDisable colored output (NO_COLOR is honored too)
--os-release FILEUse this os-release file instead of /etc/os-release
--uname-r STRINGJudge this kernel release instead of the running one (skips local checks)
--uname-v STRINGKernel build string (uname -v), needed for Debian kernels with --uname-r
-h, --helpShow help

Exit codes

CodeMeaning
0Safe (fixed, not affected, or livepatched)
1Vulnerable — a fixed kernel is available
2Fixed kernel installed — reboot needed
3Vulnerable — no vendor fix yet, or end of life
4Undetermined (unknown kernel, running inside a container, ...)

The exit codes make it usable from configuration management or monitoring:

bash scanner-cve-2026-99999.sh --no-color > report.txt; echo "exit code: $?"

Checking another server

The verdict can be computed for values collected elsewhere, for example from a container or an inventory:

# On the target:  uname -r ; uname -v ; cat /etc/os-release > os-release.txt
bash scanner-cve-2026-99999.sh --uname-r 5.14.0-570.12.1.el9_6.x86_64 --os-release os-release.txt
bash scanner-cve-2026-99999.sh --uname-r 6.1.0-38-amd64 \
     --uname-v '#1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-08-02)' --os-release os-release.txt

Status by distribution (as of 2026-10-20)

bash scanner-cve-2026-99999.sh --list prints the same table.

DistributionStatusFixed version
Upstream (kernel.org)Fixed5.10.272 · 5.15.223 · 6.1.190 · 6.6.159 · 6.12.113 · 6.18.57 · 7.2.11 · 7.3-rc7. Other branches are end of life.
AlmaLinux 8 / 9 / 10Fixed (almalinux-testing repo, 2026-10-16)kernel-4.18.0-553.174.2.el8_10 · kernel-5.14.0-687.57.2.el9_8 · kernel-6.12.0-211.66.2.el10_2
AlmaLinux Kitten 10Next regular kernel update—
RHEL 7 / 8 / 9 / 10Affected, no fix yet—
Rocky Linux, CentOS Stream, other RHEL compatiblesNo fix published—
Oracle Linux UEKFixedUEK R6 5.4.17-2136.360.3.1 (ELSA-2026-500397) · UEK R7 5.15.0-325.221.6.4 (ELSA-2026-500398) · UEK R8 6.12.0-207.111.5.4 (ELSA-2026-500399)
Oracle Linux RHCKNo advisory—
Amazon Linux 2Fixed4.14 4.14.355-287.753 (ALAS2-2026-3962) · 5.4 5.4.302-229.498 (ALAS2KERNEL-5.4-2026-131) · 5.10 5.10.269-270.1108 (ALAS2KERNEL-5.10-2026-133) · 5.15 5.15.221-157.262 (ALAS2KERNEL-5.15-2026-117)
Amazon Linux 2023Fixedkernel 6.1.188-233.385 (ALAS2023-2026-3197) · kernel6.12 6.12.110-135.201 (ALAS2023-2026-3196) · kernel6.18 6.18.54-121.166 (ALAS2023-2026-3192)
DebianFixedbookworm 6.1.190-1 (DLA-4841-1) · trixie 6.12.113-1 (DSA-6568-1) · forky/sid 7.2.11-1. bullseye and older are not tracked.
Ubuntu 14.04 – 26.04Needs evaluation, no fix yet—
SLES 12 SP5 / 15 SP4–SP7 / 16.x, SLE Micro, openSUSE Leap 16Affected, pending—
openSUSE Leap 15.x, SLES 15 SP1–SP3End of life—
Fedora, Arch, openSUSE Tumbleweed, Alpine, GentooFollow upstream stablesee the upstream row

AWS states that the EC2, Lambda and Fargate host infrastructure is not affected; Amazon Linux instances still need their own kernel updated.

Safety of "Patch now"

Download Tool