HIGH
ptrace Dumpable Bypass
CVE-2026-46333
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
KernelScan AI7.8HIGH
01Description
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.
02KernelScan AI Analysis
Risk summary
Local attackers with matching uid/gid can bypass capability checks to ptrace kernel threads and exiting processes. This allows reading and modifying kernel thread memory without requiring CAP_SYS_PTRACE, potentially leading to privilege escalation or system compromise.
Vulnerability analysis
The ptrace_may_access() function incorrectly handled dumpability checks for tasks without memory management structures (mm). When a process exits or for kernel threads, the dumpability check was effectively skipped, allowing ptrace access based only on uid/gid matching rather than proper capability checks. The fix introduces a cached user_dumpable flag that preserves the last dumpability state and ensures CAP_SYS_PTRACE is required to override dumpability restrictions, closing the privilege escalation path.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 3.17 | 3.17 | 93d4ba49d18e |
| 4.10 | 4.10 | 8f907d345bae |
| 4.5 | 4.5 | 15b828a46f30 |
| 4.9 | 4.9 | 4709234fd1b9 |
| 5.10 | 5.10.256 | 6e5b51e74a40 |
| 5.15 | 5.15.207 | 2a93a4fac7b6 |
| 6.1 | 6.1.173 | 01363cb3fbd0 |
| 6.12 | 6.12.89 | — |
| 6.18 | 6.18.31 | — |
| 6.6 | 6.6.139 | 31e62c2ebbfd |
| 7.0 | 7.0.8 | — |
| mainline | 7.1-rc4 | — |