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
Tools/GitHubGitHub/0xer0/cve-2026-31431-copy-fail-add-arm64
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationBinary Exploitation
GitHub0xer0/cve-2026-31431-copy-fail-add-arm64

CVE-2026-31431-Copy-Fail-add-arm64

Python exploit for CVE-2026-31431, a Linux kernel local privilege escalation via AF_ALG and splice() to write to page cache, gaining root on arm64 and x86.

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
View Repository
113 months agoNot yet reviewed

Vulnerability Overview

ItemContent
CVE IDCVE-2026-31431
Vulnerability NameCopy Fail
Vulnerability TypeLinux Kernel Local Privilege Escalation (LPE)
CVSS 3.1 Score7.8 (HIGH)
CWECWE-669: Incorrect Resource Transfer Between Spheres
Affected ScopeAll Linux kernels built between 2017 and April 2026
CISA KEVListed, remediation deadline 2026-05-15
Disclosure Date2026-04-29

Vulnerability Details

In 2017, the kernel introduced an in-place encryption optimization in the algif_aead crypto module. This optimization caused page-cache pages to be incorrectly placed into a writable destination scatterlist. By combining the AF_ALG socket with the splice() system call, an attacker can write data to the page cache of arbitrary files, including root-owned read-only files.

Attack Chain: AF_ALG socket → splice() → page-cache write primitive → tamper with setuid binary page cache → execute the file to gain root privileges

Attack Characteristics:

  • No race condition (not a race condition, but a direct logic flaw)
  • No kernel debugging features required
  • No architecture-specific offset adaptation required
  • Universal exploit script is only ~732 bytes and works across all major distributions

Affected Scope

Verified Affected Distributions

DistributionAffected Kernel Version
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

Distributions such as Debian, Arch, Fedora, Rocky, Alma, and Oracle with the same kernel range are also affected.

Affected Kernel Version Range

All kernel versions below the following fixed versions are affected:


Detection Methods

1. Check Kernel Version

root@kitploit:~
uname -r

Compare the output with the fixed versions in the table above. If the version is lower than the fixed version, the system is affected.

2. Check AF_ALG Connections

root@kitploit:~
# Check for current AF_ALG connections
lsof | grep AF_ALG

# Check AF_ALG socket status
ss -xa | grep alg

3. Check Whether the algif_aead Module Is Loaded

root@kitploit:~
lsmod | grep algif_aead

If there is output, the module is loaded and the system is at risk of exploitation.

4. Vulnerability Verification (Authorized Test Environments Only)

root@kitploit:~
# Clone the PoC repository
git clone https://github.com/cx330zer0/CVE-2026-31431-Copy-Fail-add-arm64.git
cd CVE-2026-31431-Copy-Fail-add-arm64

# Run the PoC (requires non-privileged user identity)
python3 copy-fail-dual-arch.py
image

If the PoC successfully obtains a root shell, the system is vulnerable to this flaw.

Download Tool
Stable BranchMinimum Fixed Version
5.10.x≥ 5.10.254
5.15.x≥ 5.15.204
6.1.x≥ 6.1.170
6.6.x≥ 6.6.137
6.12.x≥ 6.12.85
6.18.x≥ 6.18.22
6.19.x≥ 6.19.12
7.0.x≥ 7.0-rc7