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
copy-fail-CVE-2026-31431 — Exploit for CVE-2026-31431, a Linux kernel authencesn vulnerability enabling local privilege escalation to root and container escape via AF_ALG and splice(). | Kitploit
Tools/GitHubGitHub/wuzuowei/copy-fail-cve-2026-31431
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationContainer Escape
GitHubwuzuowei/copy-fail-cve-2026-31431

copy-fail-CVE-2026-31431

Exploit for CVE-2026-31431, a Linux kernel authencesn vulnerability enabling local privilege escalation to root and container escape via AF_ALG and splice().

View Repository

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
3 months agoNot yet reviewed

Vulnerability Description

Root Cause

In 2017, the Linux kernel crypto module authencesn introduced an in-place optimization for AEAD (Authenticated Encryption with Associated Data) operations. This optimization caused read-only pages in the page cache to be incorrectly placed into a writable destination scatterlist under specific conditions. By leveraging the kernel crypto API exposed through AF_ALG sockets, combined with the splice() system call, an attacker can exploit this logic flaw to achieve a 4-byte arbitrary write to the page cache of setuid binaries (such as /usr/bin/su), thereby tampering with program logic and obtaining a root shell.

The entire exploitation process follows a linear logic flow, requiring no race window, no kernel-specific offsets, and no pre-installed special tools.

Vulnerability Impact

  • Local privilege escalation to root: Any local unprivileged user account can unconditionally escalate privileges to root.

  • Container escape: In Kubernetes / container environments, the page cache is shared with the host. An attacker inside a container can break out of the container boundary, compromising the host node and other tenants on the same node.

  • CI/CD environment compromise: In CI environments that execute untrusted code, such as GitHub Actions, GitLab Runner, and Jenkins Agent, an attacker can obtain root privileges on the Runner host machine directly through a malicious PR.

  • Cloud multi-tenant environments: In cloud services that execute user code, such as Notebooks, Serverless, and Agent sandboxes, a tenant can escalate privileges to host root.

  • Vulnerability persisted for nearly a decade: The problematic code was introduced in 2017, and all Linux distributions since then have been affected.

Affected Versions

All Linux kernel versions built from 2017 until the patch release, covering:

Solution

Upgrade and Fix

Upgrade to a kernel version that includes the mainline commit a664bf3d603d. Major distributions are in the process of releasing fixed versions:

root@kitploit:~
# Ubuntu / Debian
apt update && apt upgrade linux-image-$(uname -r)
# RHEL / CentOS / Rocky / Alma
dnf update kernel
# Amazon Linux
yum update kernel
# SUSE
zypper update kernel-default

After upgrading, reboot the system to activate the new kernel, and verify whether the fix commit is included with the following command:

root@kitploit:~

grep -r "a664bf3d603d" /proc/version 2>/dev/null || uname -r 
# Verify whether the fix commit is included, or compare against the fixed version number in the official distribution advisory

Temporary Mitigation

Disabling the algif_aead kernel module can block the exploitation path:

root@kitploit:~


# Permanently disable (takes effect after reboot)
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
# Unload immediately (takes effect for the current session)
rmmod algif_aead 2>/dev/null || true

Impact assessment of disabling algif_aead:

  • Not affected: dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL/GnuTLS/NSS default builds, SSH, kernel keyring encryption — these components use the kernel crypto API directly and do not go through AF_ALG.

  • Potentially affected: OpenSSL with the afalg engine explicitly enabled, certain embedded crypto offload paths, and applications that directly bind to aead/skcipher/hash sockets. You can check whether any process on the current system is using AF_ALG with lsof | grep AF_ALG or ss -xa.

Download Tool
DistributionAffected Kernel Versions
Ubuntu 24.04 LTS6.17.0-1007-aws and below
Amazon Linux 20236.18.8-9.213.amzn2023 and below
RHEL 14.36.12.0-124.45.1.el10_1 and below
SUSE 166.12.0-160000.9-default and below
Debian / Arch / Fedora / Rocky / Alma / OracleAll kernels from the same period are affected