Description
In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: Cleanup CPU timers before freeing them during exec Commit 55e8c8eb2c7b ("posix-cpu-timers: Store a reference to a pid not a task") started looking up tasks by PID when deleting a CPU timer. When a non-leader thread calls execve, it will switch PIDs with the leader process. Then, as it calls exit_itimers, posix_cpu_timer_del cannot find the task because the timer still points out to the old PID. That means that armed timers won't be disarmed, that is, they won't be removed from the timerqueue_list. exit_itimers will still release their memory, and when that list is later processed, it leads to a use-after-free. Clean up the timers from the de-threaded task before freeing them. This prevents a reported use-after-free.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
55e8c8eb2c7b6bf30e99423ccfe7ca032f498f59 to < 541840859ace9c2ccebc32fa9e376c7bd3def490affected55e8c8eb2c7b6bf30e99423ccfe7ca032f498f59 to < 9e255ed238fc67058df87b0388ad6d4b2ef3a2bdaffected55e8c8eb2c7b6bf30e99423ccfe7ca032f498f59 to < e8cb6e8fd9890780f1bfcf5592889e1b879e779caffected55e8c8eb2c7b6bf30e99423ccfe7ca032f498f59 to < b2fc1723eb65abb83e00d5f011de670296af0b28affected55e8c8eb2c7b6bf30e99423ccfe7ca032f498f59 to < e362359ace6f87c201531872486ff295df306d13affected
Linux Linux
Default version status: affected
5.7affected0 to < 5.7unaffected5.10.137 to ≤ 5.10.*unaffected5.15.61 to ≤ 5.15.*unaffected5.18.18 to ≤ 5.18.*unaffected5.19.2 to ≤ 5.19.*unaffected6.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/541840859ace9c2ccebc32fa9e376c7bd3def490 ↗
- https://git.kernel.org/stable/c/9e255ed238fc67058df87b0388ad6d4b2ef3a2bd ↗
- https://git.kernel.org/stable/c/e8cb6e8fd9890780f1bfcf5592889e1b879e779c ↗
- https://git.kernel.org/stable/c/b2fc1723eb65abb83e00d5f011de670296af0b28 ↗
- https://git.kernel.org/stable/c/e362359ace6f87c201531872486ff295df306d13 ↗