Description
In the Linux kernel, the following vulnerability has been resolved:

posix-cpu-timers: Use u64 multiplication in update_rlimit_cpu()

update_rlimit_cpu() converts the RLIMIT_CPU value to nanoseconds with

u64 nsecs = rlim_new * NSEC_PER_SEC;

On 32-bit kernels both rlim_new (unsigned long) and NSEC_PER_SEC
(1000000000L) are 32-bit, so the multiplication is performed in unsigned
long and truncated for rlim_new > 4 seconds before being widened to u64.

The same file already casts to u64 for the matching computation in
check_process_timers():

u64 softns = (u64)soft * NSEC_PER_SEC;

As a result, the truncated value is installed into the CPUCLOCK_PROF
expiry cache (nextevt), causing the process CPU timer to be programmed
to fire prematurely for any RLIMIT_CPU soft limit >= 5 seconds. The
actual SIGXCPU/SIGKILL decision in check_process_timers() 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 rlim_cur identically.

64-bit kernels are unaffected.
Published: 2026-08-15
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel code that translates a user‑supplied RLIMIT_CPU soft limit into nanoseconds uses unsigned 32‑bit arithmetic on 32‑bit kernels. When the limit is five seconds or greater, the multiplication by one billion overflows and the value is silently truncated before it is widened to 64 bits. The truncated result is written into the CPUCLOCK_PROF expiry cache, so the timer programmed to deliver a SIGXCPU is set too early. The enforcement logic that actually decides to send a signal performs a correct 64‑bit multiplication, so the limit remains correctly enforced, but the timer pre‑fires, causing the target process to terminate sooner than intended. The flaw does not alter the signal decision or provide any form of additional access or data breach.

Affected Systems

All 32‑bit Linux kernel installations are affected, regardless of distribution or upstream source. 64‑bit kernels do not exhibit the overflow, and non‑Linux operating systems are unaffected.

Risk and Exploitability

The vulnerability lacks a remote exploitation vector and only impacts locally running processes with a soft RLIMIT_CPU limit of five seconds or more. The CVSS score is 5.5, indicating moderate severity. The EPSS score is less than 1 % and the issue is not listed in the CISA KEV catalog, indicating a low probability of exploitation and limited scope. A local user capable of creating or modifying a process could observe premature termination, but the defect does not grant privilege escalation, data exfiltration, or wider system compromise.

Generated by OpenCVE AI on August 18, 2026 at 03:33 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Install a kernel version that includes the commit applying the u64 cast in update_rlimit_cpu().
  • If a suitable kernel package is not available, obtain the upstream source, cherry‑pick or apply the patch that casts the multiplication to u64, rebuild the kernel, and install it.
  • As a temporary measure, set RLIMIT_CPU soft limits for critical services to a value below five seconds or adjust any process that sets limits above this threshold to avoid the truncated multiplication affecting the expiry cache.

Generated by OpenCVE AI on August 18, 2026 at 03:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Sat, 15 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: Use u64 multiplication in update_rlimit_cpu() update_rlimit_cpu() converts the RLIMIT_CPU value to nanoseconds with u64 nsecs = rlim_new * NSEC_PER_SEC; On 32-bit kernels both rlim_new (unsigned long) and NSEC_PER_SEC (1000000000L) are 32-bit, so the multiplication is performed in unsigned long and truncated for rlim_new > 4 seconds before being widened to u64. The same file already casts to u64 for the matching computation in check_process_timers(): u64 softns = (u64)soft * NSEC_PER_SEC; As a result, the truncated value is installed into the CPUCLOCK_PROF expiry cache (nextevt), causing the process CPU timer to be programmed to fire prematurely for any RLIMIT_CPU soft limit >= 5 seconds. The actual SIGXCPU/SIGKILL decision in check_process_timers() 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 rlim_cur identically. 64-bit kernels are unaffected.
Title posix-cpu-timers: Use u64 multiplication in update_rlimit_cpu()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:07:35.943Z

Reserved: 2026-08-09T03:40:39.903Z

Link: CVE-2026-72068

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:16.467

Modified: 2026-08-17T06:18:05.303

Link: CVE-2026-72068

cve-icon Redhat

Severity : Low

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72068 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T03:45:04Z

Weaknesses
  • CWE-190

    Integer Overflow or Wraparound