CVE-2026-46173

exit: prevent preemption of oopsing TASK_DEAD task

HIGH
7.8
CVSS Score
Published: May 28, 2026 at 09:36 AM UTC
Updated: October 19, 2026 at 08:18 PM UTC
4 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 CPU 1518-4 Pn /dp MFP FirmwareSiplus S7-1500 CPU 1518-4 Pn /dp MFP Firmware

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.1%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: exit: prevent preemption of oopsing TASK_DEAD task When an already-exiting task oopses, make_task_dead() currently calls do_task_dead() with preemption enabled. That is forbidden: do_task_dead() calls __schedule(), which has a comment saying "WARNING: must be called with preemption disabled!". If an oopsing task is preempted in do_task_dead(), between becoming TASK_DEAD and entering the scheduler explicitly, bad things happen: finish_task_switch() assumes that once the scheduler has switched away from a TASK_DEAD task, the task can never run again and its stack is no longer needed; but that assumption apparently doesn't hold if the dead task was preempted (the SM_PREEMPT case). This means that the scheduler ends up repeatedly dropping references on the dead task's stack, which can lead to use-after-free or double-free of the entire task stack; in other words, two tasks can end up running on the same stack, resulting in various kinds of memory corruption. (This does not just affect "recursively oopsing" tasks; it is enough to oops once during task exit, for example in a file_operations::release handler)

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.17 ≤ v < 6.1.1756.13 ≤ v < 6.18.306.19 ≤ v < 7.0.76.2 ≤ v < 6.6.1406.7 ≤ v < 6.12.887.17.1 rc17.1 rc27.1 rc37f80a2fd7db9a55894fd841915236aca611291b5
Vendor states this is fixed in 3d6fb8a7690c23e3213c4b008f64d89a44b98737 (fixed)
Vendor states this is fixed in 640b4c00fb0e2920327435f6176cbefc3c546165 (fixed)
Vendor states this is fixed in 6f49f94f3b11fe8bff1bf2a054143789e76aaf17 (fixed)
Vendor states this is fixed in 7b2800ba5f5f77a8ee7f4cbadb19cf1264597a34 (fixed)
Vendor states this is fixed in 9756b3db5db6c2f5eccb32dddbd88eb4c54f575e (fixed)
Vendor states this is fixed in c1fa0bb633e4a6b11e83ffc57fa5abe8ebb87891 (fixed)
Vendor states this is fixed in 5.17 (unaffected)
Vendor states this is fixed in 6.1.175 (unaffected)
Vendor states this is fixed in 6.12.88 (unaffected)
Vendor states this is fixed in 6.18.30 (unaffected)
Vendor states this is fixed in 6.6.140 (unaffected)
Vendor states this is fixed in 7.0.7 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-787CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card