Skip to main content
← All vulnerabilities
CVE-2026-46333

ptrace: slightly saner 'get_dumpable()' logic

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.17, 4.5, 4.9, 4.10, 5.10.256, and 6 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 93d4ba49d18e3d7fb41a9927c2d0cca5e9dfefd6; From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 15b828a46f305ae9f05a7c16914b3ce273474205; From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 4709234fd1b95136ceb789f639b1e7ea5de1b181; From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 8f907d345bae8f4b3f004c5abc56bf2dfb851ea7; From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 6e5b51e74a40d377bcd3081dd33fbaa0e1aa7e3d; From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 2a93a4fac7b6051d3be7cd1b015fe7320cd0404d; From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 01363cb3fbd0238ffdeb09f53e9039c9edf8a730; From bfedb589252c01fa505ac9f6f2a3d5d68d707ef4 · fixed in 31e62c2ebbfdc3fe3dbdf5e02c92a9dc67087a3a; From 3.16.52 · fixed in 3.17; From 4.4.40 · fixed in 4.5; From 4.8.16 · fixed in 4.9; From 4.9.1 · fixed in 4.10

  • Linux Linux

    4.10

  • KernelLinux

    From 4.10.0 · fixed in 5.10.256; From 5.11.0 · fixed in 5.15.207; From 5.16.0 · fixed in 6.1.173; From 6.2.0 · fixed in 6.6.139; From 6.7.0 · fixed in 6.12.89; From 6.13.0 · fixed in 6.18.31; From 6.19.0 · fixed in 7.0.8

References 8

git.kernel.org