CVE-2026-72068: posix-cpu-timers: Use u64 multiplication in update_rlimit_cpu()
In the Linux kernel, the following vulnerability has been resolved:
posix-cpu-timers: Use u64 multiplication in updaterlimitcpu()
updaterlimitcpu() converts the RLIMITCPU value to nanoseconds with
u64 nsecs = rlimnew NSECPERSEC;
On 32-bit kernels both rlimnew (unsigned long) and NSECPERSEC (1000000000L) are 32-bit, so the multiplication is performed in unsigned long and truncated for rlimnew > 4 seconds before being widened to u64.
The same file already casts to u64 for the matching computation in checkprocesstimers():
u64 softns = (u64)soft NSECPERSEC;
As a result, the truncated value is installed into the CPUCLOCKPROF expiry cache (nextevt), causing the process CPU timer to be programmed to fire prematurely for any RLIMITCPU soft limit >= 5 seconds. The actual SIGXCPU/SIGKILL decision in checkprocesstimers() already casts to u64 and is therefore correct, so limit enforcement is not broken; only the expiry-cache programming is wrong. Apply the same cast here so both paths convert rlimcur identically.
64-bit kernels are unaffected.
Affected Software
Event History
Frequently Asked Questions
What is the risk level of CVE-2026-72068?
The risk level of CVE-2026-72068 is rated as 10, indicating a critical vulnerability.
What does CVE-2026-72068 affect?
CVE-2026-72068 affects the Linux kernel, specifically related to the posix-cpu-timers subsystem.
How was CVE-2026-72068 resolved?
CVE-2026-72068 was resolved by using u64 multiplication in the update_rlimit_cpu() function to prevent overflow on 32-bit kernels.
What systems are vulnerable to CVE-2026-72068?
Systems running a vulnerable version of the Linux kernel that utilizes the posix-cpu-timers feature are at risk from CVE-2026-72068.
Is there a need to update for CVE-2026-72068?
Yes, it is crucial to update the Linux kernel to the latest patched version to mitigate the risk associated with CVE-2026-72068.