GHSA-8P2J-7PMX-3HP5
Vulnerability from github – Published: 2026-08-15 06:32 – Updated: 2026-08-15 06:32In 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.
{
"affected": [],
"aliases": [
"CVE-2026-72068"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-08-15T06:21:16Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nposix-cpu-timers: Use u64 multiplication in update_rlimit_cpu()\n\nupdate_rlimit_cpu() converts the RLIMIT_CPU value to nanoseconds with\n\n u64 nsecs = rlim_new * NSEC_PER_SEC;\n\nOn 32-bit kernels both rlim_new (unsigned long) and NSEC_PER_SEC\n(1000000000L) are 32-bit, so the multiplication is performed in unsigned\nlong and truncated for rlim_new \u003e 4 seconds before being widened to u64.\n\nThe same file already casts to u64 for the matching computation in\ncheck_process_timers():\n\n u64 softns = (u64)soft * NSEC_PER_SEC;\n\nAs a result, the truncated value is installed into the CPUCLOCK_PROF\nexpiry cache (nextevt), causing the process CPU timer to be programmed\nto fire prematurely for any RLIMIT_CPU soft limit \u003e= 5 seconds. The\nactual SIGXCPU/SIGKILL decision in check_process_timers() already casts\nto u64 and is therefore correct, so limit enforcement is not broken;\nonly the expiry-cache programming is wrong. Apply the same cast here so\nboth paths convert rlim_cur identically.\n\n64-bit kernels are unaffected.",
"id": "GHSA-8p2j-7pmx-3hp5",
"modified": "2026-08-15T06:32:11Z",
"published": "2026-08-15T06:32:11Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-72068"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/1fafc4d9b411645eb34de43362b966dc8fb3e263"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/26aff38fefb1d6cd87e22525f41cc8f1aa61b24f"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/384628d6cdde0fcd76868606fad3ad8293100afb"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/571e1f10b5996ba3e4dc63ea77de4aa309c384ce"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/cff8281bacd2866767e6194c3079d33b6c5a74f4"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/ea6a188ee805e841a0e242f14d15953e0dfa74bb"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/edf6babb9edd2d3e19229ade339081f439d4f478"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/feb5c87c8514444ba891b75a5a3eae57c64edaf8"
}
],
"schema_version": "1.4.0",
"severity": []
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.