CVE-2026-90432 (GCVE-0-2026-90432)

Vulnerability from cvelistv5 – Published: 2026-09-17 16:09 – Updated: 2026-09-17 16:09
VLAI
Title
sched_ext: Abort directly from the hardlockup handler
Summary
In the Linux kernel, the following vulnerability has been resolved: sched_ext: Abort directly from the hardlockup handler scx_hardlockup() defers the abort to an irq_work because exit claiming used to take scx_sched_lock and couldn't run from NMI. The deferral is now unnecessary - claiming is NMI-safe and asserting ->aborting is exactly what breaks the live-locks that hard-lock CPUs. Call handle_lockup() directly and drop the irq_work. This also makes the self-detected case recoverable: the perf watchdog fires on the hard-locked CPU itself, where a queued irq_work never runs with IRQs off. Also fix the return value: %true used to be returned whenever sched_ext was loaded, suppressing the kernel's hardlockup report even when the abort was refused. Return %true only when this call initiated the abort.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: bd2d76455b65aab77652823919db128a8e585825 , < 4d6270bbb4e083a4d2d39f3c36f30f5c939c06ed (git)
Affected: bd2d76455b65aab77652823919db128a8e585825 , < 3c4b38064937a761ebbf85b1649e812db85eb59e (git)
guessed Create a notification for this product.
Linux Linux Affected: 7.1
Unaffected: 0 , < 7.1 (semver)
Unaffected: 7.2.6 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/sched/ext/ext.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "4d6270bbb4e083a4d2d39f3c36f30f5c939c06ed",
              "status": "affected",
              "version": "bd2d76455b65aab77652823919db128a8e585825",
              "versionType": "git"
            },
            {
              "lessThan": "3c4b38064937a761ebbf85b1649e812db85eb59e",
              "status": "affected",
              "version": "bd2d76455b65aab77652823919db128a8e585825",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/sched/ext/ext.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "lessThan": "7.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Abort directly from the hardlockup handler\n\nscx_hardlockup() defers the abort to an irq_work because exit claiming used\nto take scx_sched_lock and couldn\u0027t run from NMI. The deferral is now\nunnecessary - claiming is NMI-safe and asserting -\u003eaborting is exactly what\nbreaks the live-locks that hard-lock CPUs. Call handle_lockup() directly and\ndrop the irq_work. This also makes the self-detected case recoverable: the\nperf watchdog fires on the hard-locked CPU itself, where a queued irq_work\nnever runs with IRQs off.\n\nAlso fix the return value: %true used to be returned whenever sched_ext was\nloaded, suppressing the kernel\u0027s hardlockup report even when the abort was\nrefused. Return %true only when this call initiated the abort."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-17T16:09:52.429Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/4d6270bbb4e083a4d2d39f3c36f30f5c939c06ed"
        },
        {
          "url": "https://git.kernel.org/stable/c/3c4b38064937a761ebbf85b1649e812db85eb59e"
        }
      ],
      "title": "sched_ext: Abort directly from the hardlockup handler",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90432",
    "datePublished": "2026-09-17T16:09:52.429Z",
    "dateReserved": "2026-09-11T19:38:34.815Z",
    "dateUpdated": "2026-09-17T16:09:52.429Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-90432",
      "date": "2026-09-29",
      "epss": "0.00198",
      "percentile": "0.08515"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "kernel/sched/ext/ext.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "4d6270bbb4e083a4d2d39f3c36f30f5c939c06ed",
                    "status": "affected",
                    "version": "bd2d76455b65aab77652823919db128a8e585825",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "3c4b38064937a761ebbf85b1649e812db85eb59e",
                    "status": "affected",
                    "version": "bd2d76455b65aab77652823919db128a8e585825",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "kernel/sched/ext/ext.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "7.1"
                  },
                  {
                    "lessThan": "7.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Abort directly from the hardlockup handler\n\nscx_hardlockup() defers the abort to an irq_work because exit claiming used\nto take scx_sched_lock and couldn\u0027t run from NMI. The deferral is now\nunnecessary - claiming is NMI-safe and asserting -\u003eaborting is exactly what\nbreaks the live-locks that hard-lock CPUs. Call handle_lockup() directly and\ndrop the irq_work. This also makes the self-detected case recoverable: the\nperf watchdog fires on the hard-locked CPU itself, where a queued irq_work\nnever runs with IRQs off.\n\nAlso fix the return value: %true used to be returned whenever sched_ext was\nloaded, suppressing the kernel\u0027s hardlockup report even when the abort was\nrefused. Return %true only when this call initiated the abort."
          }
        ],
        "id": "CVE-2026-90432",
        "lastModified": "2026-09-17T17:17:48.263",
        "metrics": {},
        "published": "2026-09-17T17:17:48.263",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3c4b38064937a761ebbf85b1649e812db85eb59e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/4d6270bbb4e083a4d2d39f3c36f30f5c939c06ed"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-22T16:27:53Z",
      "cve": "CVE-2026-90432",
      "id": "CVE-2026-90432",
      "initial_release_date": "2026-09-18T00:16:19Z",
      "product_status:known_not_affected": "347",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-90432",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-90432.json",
      "version": "4"
    }
  }
}



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…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…