Read the docs
TI-2026-84211 Aliases CVE-2026-99249GHSA-mgg4-g6ph-qf96

Unfreezable pid namespace teardown blocks Linux kernel suspend

Priority LOW 22Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from CNA.

Summary

In the Linux kernel, versions from 2.6.24 before the fixed releases are affected. When the init process of a pid namespace exits, zap_pid_ns_processes() waits for other pids in the namespace to be freed, and a tracer outside the namespace that does not reap its traced zombies can keep that wait unbounded. Neither wait is freezable, so the wait blocks system suspend. A local user who can trace processes in a pid namespace can trigger this condition.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

In the Linux kernel, the following vulnerability has been resolved: pid_namespace: make zap_pid_ns_processes() freezable When the init of a pid namespace exits, zap_pid_ns_processes() waits until all other pids in the namespace are freed. A tracer outside the namespace that does not reap its traced zombies keeps those pids allocated, so this wait has no upper bound, and while it lasts every suspend attempt fails: Freezing user space processes failed after 20.006 seconds (2 tasks refusing to freeze, wq_busy=0): Neither wait is freezable. The first loop sleeps in do_wait(), which returns -ERESTARTSYS on the freezer's fake signal; the loop then clears TIF_SIGPENDING and waits again without ever freezing. The final loop sleeps in TASK_INTERRUPTIBLE, and since nothing clears TIF_SIGPENDING there, schedule() returns immediately after the first freeze attempt and the task spins until the wait ends. Sleep in TASK_INTERRUPTIBLE | TASK_FREEZABLE in do_wait(), so that the freezer can freeze tasks waiting there directly, and in TASK_IDLE | TASK_FREEZABLE in the final loop, like coredump_task_exit() does. This was hit with Chromium-based browsers: crashpad ptrace-attaches the threads of a crashed renderer, which is a pid namespace init, and does not reap those killed during the dump.

Why it matters now

EPSS 0.00161 5th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 6.1.191, 6.6.161, 6.12.115 +3

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux2.6.24 and later6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3Patch availableCNA
  • Linux VendorLinux Affected 2.6.24 and later Fixed in 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*——Linux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions — — ·Linux

Remediation

Fixed versions are 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13 and 7.3 for the Linux kernel. The sources list no fixed version for Linux beyond these release branches.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA Linux (Linux) Fixed in 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3

Timeline

  1. 2026-11-03 Threatist record created from CVE-2026-99249
  2. 2026-11-03 Alias added: GHSA-mgg4-g6ph-qf96

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
See all 21741 →

Sources