Read the docs
TI-2023-28835 Aliases CVE-2023-52489GHSA-xfm9-cv4j-c74m

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

Priority LOW 21CWE-362Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
High
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 20 fixed, 1 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat.

Summary

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_HAS_MEM_MAP is cleared thus valid_section() return false. Thanks to David/Pavan for their inputs on this patch. [1] https://lore.kernel.org/linux-mm/[email protected]/ On Snapdragon SoC, with the mentioned memory configuration of PFN's as [ZONE_NORMAL ZONE_DEVICE ZONE_NORMAL], we are able to see bunch of issues daily while testing on a device farm. For this particular issue below is the log. Though the below log is not directly pointing to the pfn_section_valid(){ ms->usage;}, when we loaded this dump on T32 lauterbach tool, it is pointing. [ 540.578056] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [ 540.578068] Mem abort info: [ 540.578070] ESR = 0x0000000096000005 [ 540.578073] EC = 0x25: DABT (current EL), IL = 32 bits [ 540.578077] SET = 0, FnV = 0 [ 540.578080] EA = 0, S1PTW = 0 [ 540.578082] FSC = 0x05: level 1 translation fault [ 540.578085] Data abort info: [ 540.578086] ISV = 0, ISS = 0x00000005 [ 540.578088] CM = 0, WnR = 0 [ 540.579431] pstate: 82400005 (Nzcv daif +PAN -UAO +TCO -DIT -SSBSBTYPE=--) [ 540.579436] pc : __pageblock_pfn_to_page+0x6c/0x14c [ 540.579454] lr : compact_zone+0x994/0x1058 [ 540.579460] sp : ffffffc03579b510 [ 540.579463] x29: ffffffc03579b510 x28: 0000000000235800 x27:000000000000000c [ 540.579470] x26: 0000000000235c00 x25: 0000000000000068 x24:ffffffc03579b640 [ 540.579477] x23: 0000000000000001 x22: ffffffc03579b660 x21:0000000000000000 [ 540.579483] x20: 0000000000235bff x19: ffffffdebf7e3940 x18:ffffffdebf66d140 [ 540.579489] x17: 00000000739ba063 x16: 00000000739ba063 x15:00000000009f4bff [ 540.579495] x14: 0000008000000000 x13: 0000000000000000 x12:0000000000000001 [ 540.579501] x11: 0000000000000000 x10: 0000000000000000 x9 :ffffff897d2cd440 [ 540.579507] x8 : 0000000000000000 x7 : 0000000000000000 x6 :ffffffc03579b5b4 [ 540.579512] x5 : 0000000000027f25 x4 : ffffffc03579b5b8 x3 :0000000000000 ---truncated---

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00294 22nd percentileScored 2026-11-07
Public exploit Yes 6 exploit referencesTagged by NVD
Fix Partial Linux (Linux): 5.10.210, 5.15.149, 6.1.76 +3Red Hat: 8 advisoriesRed Hat: 20 fixed, 1 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux5.3 and later5.10.210, 5.15.149, 6.1.76, 6.6.15, 6.7.3, 6.8Patch availableCNA
  • Linux VendorLinux Affected 5.3 and later Fixed in 5.10.210, 5.15.149, 6.1.76, 6.6.15, 6.7.3, 6.8 Patch available CNA

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*5.3 to before 5.10.210; 5.11 to before 5.15.149; 5.16 to before 6.1.76; 6.2 to before 6.6.15; 6.7 to before 6.7.3VulnerableLinux
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*10.0VulnerableDebian
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 5.3 to before 5.10.210; 5.11 to before 5.15.149; 5.16 to before 6.1.76; 6.2 to before 6.6.15; 6.7 to before 6.7.3 Vulnerable ·Linux
  • cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* Versions 10.0 Vulnerable ·Debian

Remediation

  • Fix · CNA Linux (Linux) Fixed in 5.10.210, 5.15.149, 6.1.76, 6.6.15, 6.7.3, 6.8

Red Hat 8 advisories

  • RHSA-2024:10262 Released 2024-11-26 · Red Hat rating Moderate
    kernel security update
    • Red Hat CodeReady Linux Builder EUS (v.8.8) kernel-tools-libs-devel-4.18.0-477.81.1.el8_8
    • Red Hat Enterprise Linux BaseOS EUS (v.8.8) bpftool-4.18.0-477.81.1.el8_8, kernel-4.18.0-477.81.1.el8_8, kernel-abi-stablelists-4.18.0-477.81.1.el8_8 +19
  • RHSA-2024:8613 Released 2024-10-30 · Red Hat rating Moderate
    kernel security update
    • Red Hat CodeReady Linux Builder EUS (v.9.2) kernel-tools-libs-devel-5.14.0-284.90.1.el9_2
    • Red Hat Enterprise Linux AppStream EUS (v.9.2) kernel-64k-debug-devel-5.14.0-284.90.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.90.1.el9_2, kernel-64k-devel-5.14.0-284.90.1.el9_2 +10
    • Red Hat Enterprise Linux BaseOS EUS (v.9.2) bpftool-7.0.0-284.90.1.el9_2, kernel-5.14.0-284.90.1.el9_2, kernel-64k-5.14.0-284.90.1.el9_2 +29
  • RHSA-2024:8614 Released 2024-10-30 · Red Hat rating Moderate
    kernel-rt security update
    • Red Hat Enterprise Linux Real Time EUS (v.9.2) kernel-rt-5.14.0-284.90.1.rt14.375.el9_2, kernel-rt-core-5.14.0-284.90.1.rt14.375.el9_2, kernel-rt-debug-5.14.0-284.90.1.rt14.375.el9_2 +9
    • Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2) kernel-rt-5.14.0-284.90.1.rt14.375.el9_2, kernel-rt-core-5.14.0-284.90.1.rt14.375.el9_2, kernel-rt-debug-5.14.0-284.90.1.rt14.375.el9_2 +11
Show 5 more Red Hat advisories
  • RHSA-2024:6991 Released 2024-09-24 · Red Hat rating Important
    kernel security update
    • Red Hat Enterprise Linux AppStream E4S (v.9.0) kernel-debug-devel-5.14.0-70.117.1.el9_0, kernel-debug-devel-matched-5.14.0-70.117.1.el9_0, kernel-devel-5.14.0-70.117.1.el9_0 +5
    • Red Hat Enterprise Linux BaseOS E4S (v.9.0) bpftool-5.14.0-70.117.1.el9_0, kernel-5.14.0-70.117.1.el9_0, kernel-abi-stablelists-5.14.0-70.117.1.el9_0 +14
  • RHSA-2024:6990 Released 2024-09-24 · Red Hat rating Important
    kernel-rt security update
    • Red Hat Enterprise Linux NFV E4S (v.9.0) kernel-rt-5.14.0-70.117.1.rt21.189.el9_0, kernel-rt-core-5.14.0-70.117.1.rt21.189.el9_0, kernel-rt-debug-5.14.0-70.117.1.rt21.189.el9_0 +9
    • Red Hat Enterprise Linux Real Time E4S (v.9.0) kernel-rt-5.14.0-70.117.1.rt21.189.el9_0, kernel-rt-core-5.14.0-70.117.1.rt21.189.el9_0, kernel-rt-debug-5.14.0-70.117.1.rt21.189.el9_0 +7
  • RHSA-2024:2950 Released 2024-05-22 · Red Hat rating Moderate
    kernel-rt security and bug fix update
    • Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.rt7.342.el8_10, kernel-rt-core-4.18.0-553.rt7.342.el8_10, kernel-rt-debug-4.18.0-553.rt7.342.el8_10 +9
    • Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.rt7.342.el8_10, kernel-rt-core-4.18.0-553.rt7.342.el8_10, kernel-rt-debug-4.18.0-553.rt7.342.el8_10 +7
  • RHSA-2024:3138 Released 2024-05-22 · Red Hat rating Moderate
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.el8_10, kernel-4.18.0-553.el8_10, kernel-abi-stablelists-4.18.0-553.el8_10 +19
    • Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.el8_10
  • RHSA-2024:2394 Released 2024-04-30 · Red Hat rating Important
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-427.13.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.13.1.el9_4, kernel-64k-devel-5.14.0-427.13.1.el9_4 +11
    • Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.3.0-427.13.1.el9_4, kernel-5.14.0-427.13.1.el9_4, kernel-64k-5.14.0-427.13.1.el9_4 +29
    • Red Hat Enterprise Linux CRB (v. 9) kernel-tools-libs-devel-5.14.0-427.13.1.el9_4, libperf-5.14.0-427.13.1.el9_4
    • Red Hat Enterprise Linux NFV (v. 9) kernel-rt-5.14.0-427.13.1.el9_4, kernel-rt-core-5.14.0-427.13.1.el9_4, kernel-rt-debug-5.14.0-427.13.1.el9_4 +11
    • Red Hat Enterprise Linux RT (v. 9) kernel-rt-5.14.0-427.13.1.el9_4, kernel-rt-core-5.14.0-427.13.1.el9_4, kernel-rt-debug-5.14.0-427.13.1.el9_4 +9

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 9AffectedNo fix yet
Red Hat CodeReady Linux Builder EUS (v.8.8)Fixed RHSA-2024:10262
Red Hat CodeReady Linux Builder EUS (v.9.2)Fixed RHSA-2024:8613
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux AppStream E4S (v.9.0)Fixed RHSA-2024:6991
Red Hat Enterprise Linux AppStream EUS (v.9.2)Fixed RHSA-2024:8613
Red Hat Enterprise Linux BaseOS (v. 8)Fixed RHSA-2024:3138
Red Hat Enterprise Linux BaseOS (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux BaseOS E4S (v.9.0)Fixed RHSA-2024:6991
Red Hat Enterprise Linux BaseOS EUS (v.8.8)Fixed RHSA-2024:10262
Red Hat Enterprise Linux BaseOS EUS (v.9.2)Fixed RHSA-2024:8613
Red Hat Enterprise Linux CRB (v. 8)Fixed RHSA-2024:3138
Red Hat Enterprise Linux CRB (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux NFV (v. 8)Fixed RHSA-2024:2950
Red Hat Enterprise Linux NFV (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux NFV E4S (v.9.0)Fixed RHSA-2024:6990
Red Hat Enterprise Linux RT (v. 8)Fixed RHSA-2024:2950
Red Hat Enterprise Linux RT (v. 9)Fixed RHSA-2024:2394
Red Hat Enterprise Linux Real Time E4S (v.9.0)Fixed RHSA-2024:6990
Red Hat Enterprise Linux Real Time EUS (v.9.2)Fixed RHSA-2024:8614
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2)Fixed RHSA-2024:8614
Not affected: 3 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux AppStream EUS (v.9.2)

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-52489
  2. 2026-10-03 Alias added: GHSA-xfm9-cv4j-c74m

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources