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

cxl/mce: Make the MCE notifier per-region

Flavien Solt reported lifetime issues with the CXL MCE notifier, which
can lead to NULL dereferences and use-after-free in the MCE handler.
The notifier was registered per memory device and stored in 'struct
cxl_memdev_state', even though it only needs the region state (the
region's SPA range and its extended linear cache size).

Instead of keeping the memory device and endpoint alive, the correct fix
is to move the notifier into 'struct cxl_region' and register it from
cxl_region_probe() as it should be a per-region notifier. Setup the
registration to only happen for regions that have an extended linear
cache as that is the only current usage.

Remove cxl_port_get_spa_cache_alias() as it is now dead code.

[ dj: Update dev_warn() when notifier fails due to kconfig. (Ben) ]
Published: 2026-09-11
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service caused by kernel null dereference and use‑after‑free
Action: Immediate Patch
AI Analysis

Impact

A lifetime‑management flaw in the CXL Memory Control Engine (MCE) notifier caused object references to persist beyond their intended scope. When the notifier, registered per memory device, was accessed after the device had been freed, the kernel performed a NULL pointer dereference or a use‑after‑free within the MCE handler. This fault can trigger a crash or corruption that results in denial of service. The core weakness is a classic memory‑corruption flaw, which aligns with common exploitation patterns.

Affected Systems

The vulnerability affects the Linux kernel. Any kernel release that includes the old cxl/mce notifier implementation is susceptible; the fix is applied in the upstream kernel commits referenced in the CVE description. Based on the description, it is inferred that all kernel versions before the commit that introduces the per‑region notifier are affected and should be considered impacted.

Risk and Exploitability

With a CVSS score of 4.1, the vulnerability is considered low to moderate severity. The EPSS score of < 1 % indicates a very low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog. The flaw requires a system with CXL enabled and an attacker capable of inducing or observing machine‑exception events to trigger execution. Because exploitation needs a CXL device and a hardware machine‑exception, the attack surface is narrow, reducing the likelihood of widespread abuse. However, the impact of a kernel crash can lead to denial of service, so the availability of a patch is critical.

Generated by OpenCVE AI on September 12, 2026 at 16:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a release that contains the commit fixing the per‑region notifier for CXL MCE (any version after the listed commits).
  • Verify that any custom or third‑party CXL modules are updated to use the new per‑region notifier interface; rebuild or replace legacy modules if necessary.
  • If an immediate kernel upgrade is not possible, disable CXL MCE notifications via kernel configuration or boot parameters to prevent the notifier from being invoked on region state changes.

Generated by OpenCVE AI on September 12, 2026 at 16:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 12 Sep 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 12 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


Sat, 12 Sep 2026 10:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416
CWE-476

Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: cxl/mce: Make the MCE notifier per-region Flavien Solt reported lifetime issues with the CXL MCE notifier, which can lead to NULL dereferences and use-after-free in the MCE handler. The notifier was registered per memory device and stored in 'struct cxl_memdev_state', even though it only needs the region state (the region's SPA range and its extended linear cache size). Instead of keeping the memory device and endpoint alive, the correct fix is to move the notifier into 'struct cxl_region' and register it from cxl_region_probe() as it should be a per-region notifier. Setup the registration to only happen for regions that have an extended linear cache as that is the only current usage. Remove cxl_port_get_spa_cache_alias() as it is now dead code. [ dj: Update dev_warn() when notifier fails due to kconfig. (Ben) ]
Title cxl/mce: Make the MCE notifier per-region
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-09-11T19:44:39.584Z

Reserved: 2026-09-11T19:38:34.726Z

Link: CVE-2026-89570

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:41.050

Modified: 2026-09-11T20:19:41.050

Link: CVE-2026-89570

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:44:39Z

Links: CVE-2026-89570 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-12T17:00:15Z

Weaknesses