CVE-2026-46333

HIGH

ptrace: slightly saner 'get_dumpable()' logic

Title source: cna
STIX 2.1

Exploitation Summary

EIP tracks 6 public exploits for CVE-2026-46333. PoCs published by Unclecheng-li, fearlessresponsesolution, studiogangster.

AI-analyzed exploit summary The repository contains a README.md file with a template for a vulnerability analysis but lacks any actual exploit code, technical details, or proof-of-concept implementation. It appears to be a placeholder or incomplete analysis.

Description

In the Linux kernel, the following vulnerability has been resolved: ptrace: slightly saner 'get_dumpable()' logic The 'dumpability' of a task is fundamentally about the memory image of the task - the concept comes from whether it can core dump or not - and makes no sense when you don't have an associated mm. And almost all users do in fact use it only for the case where the task has a mm pointer. But we have one odd special case: ptrace_may_access() uses 'dumpable' to check various other things entirely independently of the MM (typically explicitly using flags like PTRACE_MODE_READ_FSCREDS). Including for threads that no longer have a VM (and maybe never did, like most kernel threads). It's not what this flag was designed for, but it is what it is. The ptrace code does check that the uid/gid matches, so you do have to be uid-0 to see kernel thread details, but this means that the traditional "drop capabilities" model doesn't make any difference for this all. Make it all make a *bit* more sense by saying that if you don't have a MM pointer, we'll use a cached "last dumpability" flag if the thread ever had a MM (it will be zero for kernel threads since it is never set), and require a proper CAP_SYS_PTRACE capability to override.

Exploits (6)

github STUB 2 stars
by Unclecheng-li · cpoc
https://github.com/Unclecheng-li/poc-lab/tree/main/CVE-2026-46333 SSH Keysign pwn

The repository contains a README.md file with a template for a vulnerability analysis but lacks any actual exploit code, technical details, or proof-of-concept implementation. It appears to be a placeholder or incomplete analysis.

Classification
Stub 90%
Attack Type
Other
Complexity
Theoretical
Reliability
Theoretical
Target: Linux (unspecified version)
No auth needed
Prerequisites: none specified
devstral-2 · analyzed May 21, 2026 Full analysis →
github WORKING POC
by fearlessresponsesolution · tsqlpoc
https://github.com/fearlessresponsesolution/cve-pocs/tree/master/pocs/CVE-2026-46333

This repository contains multiple functional exploit PoCs for CVE-2026-46333, a race condition vulnerability allowing file descriptor theft from privileged processes. The exploits target tools like `chage` and `ssh-keysign` to steal sensitive files such as `/etc/shadow` or SSH private keys.

Classification
Working Poc 95%
Attack Type
Lpe
Complexity
Moderate
Reliability
Racy
Target: Linux kernel (specific version not specified)
No auth needed
Prerequisites: Access to a vulnerable Linux system · Presence of SUID binaries like `chage` or `ssh-keysign`
devstral-2 · analyzed May 21, 2026 Full analysis →
github WORKING POC
by studiogangster · gopoc
https://github.com/studiogangster/CVE-2026-46333

This repository contains a functional Go-based PoC for CVE-2026-46333, which exploits a race condition in Linux systems using `pidfd_*` syscalls to capture file descriptors from a target process. The PoC is designed for controlled testing and includes safety guidelines.

Classification
Working Poc 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Racy
Target: Linux kernel (specific version not specified)
No auth needed
Prerequisites: Linux environment · target binary with vulnerable file descriptors
devstral-2 · analyzed May 17, 2026 Full analysis →
github WORKING POC
by 0xBlackash · cpoc
https://github.com/0xBlackash/CVE-2026-46333

This repository contains two functional exploit PoCs for CVE-2026-46333, targeting a Linux kernel race condition in the process exit path. The exploits use pidfd_getfd to steal file descriptors from privileged processes (e.g., ssh-keysign, chage) to leak sensitive files like /etc/shadow or SSH private keys.

Classification
Working Poc 95%
Attack Type
Lpe
Complexity
Complex
Reliability
Racy
Target: Linux kernel ≤6.15
No auth needed
Prerequisites: Linux kernel ≤6.15 · presence of SUID binaries like ssh-keysign or chage
devstral-2 · analyzed May 17, 2026 Full analysis →
nomisec WORKING POC
by Aurillium · poc
https://github.com/Aurillium/public-passwd

This repository contains a functional exploit PoC that leverages CVE-2026-46333 and CVE-2026-31431 to modify user passwords in /etc/shadow without root privileges. It combines file descriptor theft via pidfd_getfd and CopyFail to overwrite shadow file entries.

Classification
Working Poc 95%
Attack Type
Lpe
Complexity
Complex
Reliability
Racy
Target: Linux systems with vulnerable kernel (CVE-2026-46333 and CVE-2026-31431)
Auth required
Prerequisites: User must have permission to execute chage · System must be vulnerable to both CVE-2026-46333 and CVE-2026-31431
devstral-2 · analyzed May 17, 2026 Full analysis →
github WORKING POC
by KaraZajac · cpoc
https://github.com/KaraZajac/CHARON

This repository contains a functional exploit for CVE-2026-46333, a Linux kernel vulnerability in __ptrace_may_access that allows unprivileged users to steal file descriptors from SUID processes during a race condition in do_exit(). The PoC demonstrates local privilege escalation by dumping /etc/shadow.

Classification
Working Poc 100%
Attack Type
Lpe
Complexity
Moderate
Reliability
Racy
Target: Linux kernel <= 6.12.89
No auth needed
Prerequisites: Unprivileged user access · SUID binary that opens target file (e.g., /usr/bin/chage) · Vulnerable kernel version
devstral-2 · analyzed May 16, 2026 Full analysis →

Scores

CVSS v3 7.1
EPSS 0.0001
EPSS Percentile 0.9%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

CISA SSVC

Vulnrichment
Exploitation poc
Automatable no
Technical Impact total

Details

CWE
CWE-269
Status published
Products (33)
Linux/Linux < 4.10
Linux/Linux 03eed7afbc09e061f66b448daf7863174c3dc3f3
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 01363cb3fbd0238ffdeb09f53e9039c9edf8a730
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 15b828a46f305ae9f05a7c16914b3ce273474205
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 2a93a4fac7b6051d3be7cd1b015fe7320cd0404d
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 4709234fd1b95136ceb789f639b1e7ea5de1b181
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 6e5b51e74a40d377bcd3081dd33fbaa0e1aa7e3d
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 8f907d345bae8f4b3f004c5abc56bf2dfb851ea7
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 93d4ba49d18e3d7fb41a9927c2d0cca5e9dfefd6
Linux/Linux 3.16.52 - 3.17
... and 23 more
Published May 15, 2026
Tracked Since May 15, 2026