CVE-2023-52792·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails Commit 5e42bcbc3fef ("cxl/region: decrement ->nr_targets on error in cxl_region_attach()") tried to avoid 'eiw' initialization errors when ->nr_targets exceeded 16, by just decrementing ->nr_targets when cxl_region_setup_targets() failed. Commit 86987c766276 ("cxl/region: Cleanup target list on attach error") extended that cleanup to also clear cxled->pos and p->targets[pos]. The initialization error was incidentally fixed separately by: Commit 8d4285425714 ("cxl/region: Fix port setup uninitialized variable warnings") which was merged a few days after 5e42bcbc3fef. But now the original cleanup when cxl_region_setup_targets() fails prevents endpoint and switch decoder resources from being reused: 1) the cleanup does not set the decoder's region to NULL, which results in future dpa_size_store() calls returning -EBUSY 2) the decoder is not properly freed, which results in future commit errors associated with the upstream switch Now that the initialization errors were fixed separately, the proper cleanup for this case is to just return immediately. Then the resources associated with this target get cleanup up as normal when the failed region is deleted. The ->nr_targets decrement in the error case also helped prevent a p->targets[] array overflow, so add a new check to prevent against that overflow. Tested by trying to create an invalid region for a 2 switch * 2 endpoint topology, and then following up with creating a valid region.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.6.3
- Published
- 2024-05-21
Affected versions
From: 6.6
Until: 6.6.3
Fixed in: 6.6.3
How to fix this CVE
Update your Linux kernel to version 6.6.3 or later to resolve a CXL (Compute Express Link) region management issue where failed target setup operations fail to properly release decoder resources. This prevents endpoint and switch decoders from being reused in subsequent region configurations and can cause device attachment failures. Apply the update immediately to systems using CXL-capable hardware.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Run 'uname -r' to check your current kernel version. If it is 6.6.0, 6.6.1, or 6.6.2, you are vulnerable.
- Check for CXL device presence with 'lspci | grep -i cxl' or 'lsmod | grep cxl'. If no output, CXL is not in use but you should still patch.
- Review kernel logs for CXL region attachment errors with 'journalctl -u kernel | grep -i "cxl.*fail\|dpa_size.*EBUSY"' to identify exploitation attempts.
- Verify the fix by running 'uname -r' after patching and confirming the version is 6.6.3 or newer.
FAQ
What is CVE-2023-52792?
This vulnerability affects Linux kernel CXL (Compute Express Link) region setup where improper error handling during target attachment causes decoder resources to remain locked and unusable. Subsequent operations to reuse these decoders fail with EBUSY errors, preventing valid CXL memory region configurations.
Is CVE-2023-52792 being actively exploited?
No, this is not listed as actively exploited in CISA's KEV catalog, and no public exploits are available. Exploitation requires direct access to CXL hardware management interfaces.
What versions of Kernel are affected by CVE-2023-52792?
Linux kernel versions 6.6.0 through 6.6.2 are affected. The vulnerability is fixed in kernel 6.6.3 and later.
How do I check if my server is vulnerable to CVE-2023-52792?
Run 'uname -r' to see your kernel version. If it displays a version between 6.6.0 and 6.6.2 inclusive, your system is vulnerable and requires patching.
Does Defensia detect CVE-2023-52792?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2023-52792 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/0718588c7aaa7a1510b4de972370535b61dddd0d
- https://git.kernel.org/stable/c/07ffcd8ec79cf7383e1e45815f4842fd357991c2
- https://git.kernel.org/stable/c/9090c5537c93cd0811ab7bfbd925b57addfffb60
- https://git.kernel.org/stable/c/90db4c1d5ebaf574d3c3065c055977982c378a83
- https://git.kernel.org/stable/c/0718588c7aaa7a1510b4de972370535b61dddd0d
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52792. Free for 1 server.
Get started free