GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

GHSA-8P2J-7PMX-3HP5

Vulnerability from github – Published: 2026-08-15 06:32 – Updated: 2026-08-15 06:32
VLAI
Details

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.

Show details on source website

{
  "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": []
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

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.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…