CVE-2023-52932

Summary

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

mm/swapfile: add cond_resched() in get_swap_pages()

The softlockup still occurs in get_swap_pages() under memory pressure. 64 CPU cores, 64GB memory, and 28 zram devices, the disksize of each zram device is 50MB with same priority as si. Use the stress-ng tool to increase memory pressure, causing the system to oom frequently.

The plist_for_each_entry_safe() loops in get_swap_pages() could reach tens of thousands of times to find available space (extreme case: cond_resched() is not called in scan_swap_map_slots()). Let's add cond_resched() into get_swap_pages() when failed to find available space to avoid softlockup.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxadfab836f4908deb049a5128082719e689eed964 < 29f0349c5c76b627fe06b87d4b13fa03a6ce8e64affected
LinuxLinuxadfab836f4908deb049a5128082719e689eed964 < 387217b97e99699c34e6d95ce2b91b327fcd853eaffected
LinuxLinuxadfab836f4908deb049a5128082719e689eed964 < d49c85a1913385eed46dd16a25ad0928253767f0affected
LinuxLinuxadfab836f4908deb049a5128082719e689eed964 < 30187be29052bba9203b0ae2bdd815e0bc2faaabaffected
LinuxLinuxadfab836f4908deb049a5128082719e689eed964 < 5dbe1ebd56470d03b78fc31491a9e4d433106ef2affected
LinuxLinuxadfab836f4908deb049a5128082719e689eed964 < 49178d4d61e78aed8c837dfeea8a450700f196e2affected
LinuxLinuxadfab836f4908deb049a5128082719e689eed964 < 7717fc1a12f88701573f9ed897cc4f6699c661e3affected
LinuxLinux75b1f2d3ed3169675b69b2f68217ebb839414657affected
LinuxLinuxbcbfe6fdf8576a545fafdfe4611f59cc6b166589affected
LinuxLinux3.12.30 < 3.13affected
LinuxLinux3.14.21 < 3.15affected
LinuxLinux3.16affected
LinuxLinux0 < 3.16unaffected
LinuxLinux4.14.306 <= 4.14.*unaffected
LinuxLinux4.19.273 <= 4.19.*unaffected
LinuxLinux5.4.232 <= 5.4.*unaffected
LinuxLinux5.10.168 <= 5.10.*unaffected
LinuxLinux5.15.93 <= 5.15.*unaffected
LinuxLinux6.1.11 <= 6.1.*unaffected
LinuxLinux6.2 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References