Skip to main content
MEDIUM

CVE-2023-52489

CVSS v3

4.7

MEDIUM

EPSS Score

0.3 %

exploit probability, as of 2026-10-19

CISA KEV

No

known exploited

Exploitation

—

SSVC status

Get an alert for each new CVE published for Linux kernel.

Set up CVE WatchFree account · no credit card

Affected and fixed versions

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • bpftoolAlmaLinux:9all versions · fixed in 7.3.0-427.13.1.el9_4
  • kernelAlmaLinux:9all versions · fixed in 5.14.0-427.13.1.el9_4and 60 other packages
  • linux-awsUbuntu:23.10all versions · fixed in 6.5.0-1021.21
  • linux-laptopUbuntu:23.10all versions · fixed in 6.5.0-1017.20
  • linux-oem-6.5Ubuntu:22.04:LTSall versions · fixed in 6.5.0-1022.23
  • linux-oracleUbuntu:23.10all versions · fixed in 6.5.0-1024.24

Vendor advisories

  • CVE-2023-52489 Red Hat Product Security947 products fixed · 22 known affected

    kernel: mm/sparsemem: fix race in accessing memory_section->usage

    kernel-rt as a component of Red Hat Enterprise Linux 9 · kernel-rt-core as a component of Red Hat Enterprise Linux 9 · kernel-rt-debug as a component of Red Hat Enterprise Linux 9

  • RHSA-2024:10262 Red Hat Product Security120 products fixed

    Red Hat Security Advisory: kernel security update

  • RHSA-2024:8613 Red Hat Product Security200 products fixed

    Red Hat Security Advisory: kernel security update

  • RHSA-2024:8614 Red Hat Product Security34 products fixed

    Red Hat Security Advisory: kernel-rt security update

  • RHSA-2024:6991 Red Hat Product Security134 products fixed

    Red Hat Security Advisory: kernel security update

  • RHSA-2024:6990 Red Hat Product Security30 products fixed

    Red Hat Security Advisory: kernel-rt security update

3 more advisories

Full record on NVD

Description

In the Linux kernel, the following vulnerability has been resolved: mm/sparsemem: fix race in accessing memory_section->usage The below race is observed on a PFN which falls into the device memory region with the system memory configuration where PFN's are such that [ZONE_NORMAL ZONE_DEVICE ZONE_NORMAL]. Since normal zone start and end pfn contains the device memory PFN's as well, the compaction triggered will try on the device memory PFN's too though they end up in NOP(because pfn_to_online_page() returns NULL for ZONE_DEVICE memory sections). When from other core, the section mappings are being removed for the ZONE_DEVICE region, that the PFN in question belongs to, on which compaction is currently being operated is resulting into the kernel crash with CONFIG_SPASEMEM_VMEMAP enabled. The crash logs can be seen at [1]. compact_zone() memunmap_pages ------------- --------------- __pageblock_pfn_to_page ...... (a)pfn_valid(): valid_section()//return true (b)__remove_pages()-> sparse_remove_section()-> section_deactivate(): [Free the array ms->usage and set ms->usage = NULL] pfn_section_valid() [Access ms->usage which is NULL] NOTE: From the above it can be said that the race is reduced to between the pfn_valid()/pfn_section_valid() and the section deactivate with SPASEMEM_VMEMAP enabled. The commit b943f045a9af("mm/sparse: fix kernel crash with pfn_section_valid check") tried to address the same problem by clearing the SECTION_HAS_MEM_MAP with the expectation of valid_section() returns false thus ms->usage is not accessed. Fix this issue by the below steps: a) Clear SECTION_HAS_MEM_MAP before freeing the ->usage. b) RCU protected read side critical section will either return NULL when SECTION_HAS_MEM_MAP is cleared or can successfully access ->usage. c) Free the ->usage with kfree_rcu() and set ms->usage = NULL. No attempt will be made to access ->usage after this as the SECTION

Technical details

Published
2024-03-11

Frequently asked questions

What is CVE-2023-52489?

In the Linux kernel, the following vulnerability has been resolved: mm/sparsemem: fix race in accessing memory_section->usage The below race is observed on a PFN which falls into the device memory region with the system memory configuration where PFN's are such that [ZONE_NORMAL ZONE_DEVICE ZONE_NORMAL]. Since normal zone start and end pfn contains the device memory PFN's as well, the compaction triggered will try on the device memory PFN's too though they end up in NOP(because pfn_to_online_page() returns NULL for ZONE_DEVICE memory sections). When from other core, the section mappings are being removed for the ZONE_DEVICE region, that the PFN in question belongs to, on which compaction is currently being operated is resulting into the kernel crash with CONFIG_SPASEMEM_VMEMAP enabled. The crash logs can be seen at [1]. compact_zone() memunmap_pages ------------- --------------- __pageblock_pfn_to_page ...... (a)pfn_valid(): valid_section()//return true (b)__remove_pages()-> sparse_remove_section()-> section_deactivate(): [Free the array ms->usage and set ms->usage = NULL] pfn_section_valid() [Access ms->usage which is NULL] NOTE: From the above it can be said that the race is reduced to between the pfn_valid()/pfn_section_valid() and the section deactivate with SPASEMEM_VMEMAP enabled. The commit b943f045a9af("mm/sparse: fix kernel crash with pfn_section_valid check") tried to address the same problem by clearing the SECTION_HAS_MEM_MAP with the expectation of valid_section() returns false thus ms->usage is not accessed. Fix this issue by the below steps: a) Clear SECTION_HAS_MEM_MAP before freeing the ->usage. b) RCU protected read side critical section will either return NULL when SECTION_HAS_MEM_MAP is cleared or can successfully access ->usage. c) Free the ->usage with kfree_rcu() and set ms->usage = NULL. No attempt will be made to access ->usage after this as the SECTION

Is CVE-2023-52489 actively exploited?

Active exploitation of CVE-2023-52489 has not been confirmed. Its EPSS score was 0.3% on 2026-10-19, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2023-52489?

CVE-2023-52489 has a CVSS v3 base score of 4.7 (MEDIUM severity).

Running Linux kernel? Hear about its next vulnerability

CVE Watch matches each new CVE to the vendors and products you list (vendor and product, not the version) and puts it in your alerts with its KEV and EPSS status.

Already have an account? Open CVE WatchNo credit card required · No monthly cap on website lookups · 250 API requests/month