Skip to main content

CVE-2022-48707: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2022-48707cvecve-2022-48707
Published: Tue May 21 2024 (05/21/2024, 15:22:48 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: cxl/region: Fix null pointer dereference for resetting decoder Not all decoders have a reset callback. The CXL specification allows a host bridge with a single root port to have no explicit HDM decoders. Currently the region driver assumes there are none. As such the CXL core creates a special pass through decoder instance without a commit/reset callback. Prior to this patch, the ->reset() callback was called unconditionally when calling cxl_region_decode_reset. Thus a configuration with 1 Host Bridge, 1 Root Port, and one directly attached CXL type 3 device or multiple CXL type 3 devices attached to downstream ports of a switch can cause a null pointer dereference. Before the fix, a kernel crash was observed when we destroy the region, and a pass through decoder is reset. The issue can be reproduced as below, 1) create a region with a CXL setup which includes a HB with a single root port under which a memdev is attached directly. 2) destroy the region with cxl destroy-region regionX -f.

AI-Powered Analysis

AILast updated: 06/30/2025, 19:24:44 UTC

Technical Analysis

CVE-2022-48707 is a vulnerability identified in the Linux kernel related to the Compute Express Link (CXL) subsystem, specifically within the region driver handling CXL memory regions. The flaw arises from improper handling of the reset callback function for decoders in the cxl/region driver. According to the CXL specification, a host bridge with a single root port may have no explicit Host Decoder Module (HDM) decoders. The Linux kernel's CXL core compensates for this by creating a special pass-through decoder instance that lacks commit and reset callbacks. However, prior to the patch, the kernel unconditionally invoked the ->reset() callback during the cxl_region_decode_reset operation without verifying its presence. This led to a null pointer dereference when the reset callback was missing, causing a kernel crash (panic) when destroying a CXL region under certain configurations. The vulnerability can be reproduced by creating a CXL region with a host bridge having a single root port and a directly attached CXL type 3 memory device, then destroying that region. The root cause is the assumption that all decoders have a reset callback, which is invalid for the pass-through decoder. This flaw results in a denial of service (DoS) condition due to kernel panic but does not appear to allow privilege escalation or code execution. No known exploits are currently reported in the wild. The issue was fixed by adding a check to ensure the reset callback is only called if it exists, preventing the null pointer dereference and subsequent crash.

Potential Impact

For European organizations relying on Linux systems with CXL hardware configurations, this vulnerability could lead to system instability and denial of service. Specifically, data centers, cloud providers, and enterprises utilizing advanced memory expansion technologies via CXL type 3 devices may experience unexpected kernel crashes during device or region teardown operations. This can disrupt critical workloads, cause service outages, and potentially lead to data loss if the crash occurs during sensitive operations. While the vulnerability does not directly compromise confidentiality or integrity, the availability impact can be significant in high-availability environments. Organizations with infrastructure that employs CXL-enabled hardware, especially those experimenting with or deploying emerging memory technologies, are at risk. The lack of known exploits reduces immediate threat but does not eliminate the risk of accidental crashes or targeted DoS attacks exploiting this flaw.

Mitigation Recommendations

Organizations should promptly apply the Linux kernel patch that addresses CVE-2022-48707 to prevent null pointer dereference crashes. Kernel versions including this fix should be deployed in all environments using CXL hardware. System administrators should audit their infrastructure to identify Linux hosts with CXL type 3 devices and verify kernel versions. In environments where immediate patching is not feasible, administrators should avoid destroying CXL regions or performing operations that trigger the reset callback on affected kernel versions. Monitoring kernel logs for OOPS or panic messages related to cxl_region_decode_reset can help detect attempts to exploit or accidentally trigger the vulnerability. Additionally, organizations should engage with hardware vendors to ensure firmware and drivers are compatible with patched kernels. For critical systems, implementing redundancy and failover mechanisms can mitigate the impact of potential crashes until patches are fully deployed.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-05-03T14:55:07.147Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d982ec4522896dcbe5ee1

Added to database: 5/21/2025, 9:09:02 AM

Last enriched: 6/30/2025, 7:24:44 PM

Last updated: 8/16/2025, 7:21:04 AM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats