Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-52739— Fix page corruption caused by racy check in __free_pages

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于页面损坏问题。

CVSS 7.8 · High EPSS 0.26% · P17

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux e320d3012d25b1fb5f3df4edb7bd44a1c362ec10< 0a626e27f984dfbe96bd8e4fd08f20a2ede3ea23 affected
e320d3012d25b1fb5f3df4edb7bd44a1c362ec10< 3af734f3eac6f70ef8e272a80da40544b9d0f2b5 affected
e320d3012d25b1fb5f3df4edb7bd44a1c362ec10< 3b4c045a98f53a8890a94bb5846a390c8e39e673 affected
e320d3012d25b1fb5f3df4edb7bd44a1c362ec10< 462a8e08e0e6287e5ce13187257edbf24213ed03 affected
830b103831a924a23af48562c4d274696e75ab4f affected
5.9.2< 5.10 affected
5.10 affected
< 5.10 unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-52739

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Fix page corruption caused by racy check in __free_pages
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: Fix page corruption caused by racy check in __free_pages When we upgraded our kernel, we started seeing some page corruption like the following consistently: BUG: Bad page state in process ganesha.nfsd pfn:1304ca page:0000000022261c55 refcount:0 mapcount:-128 mapping:0000000000000000 index:0x0 pfn:0x1304ca flags: 0x17ffffc0000000() raw: 0017ffffc0000000 ffff8a513ffd4c98 ffffeee24b35ec08 0000000000000000 raw: 0000000000000000 0000000000000001 00000000ffffff7f 0000000000000000 page dumped because: nonzero mapcount CPU: 0 PID: 15567 Comm: ganesha.nfsd Kdump: loaded Tainted: P B O 5.10.158-1.nutanix.20221209.el7.x86_64 #1 Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 04/05/2016 Call Trace: dump_stack+0x74/0x96 bad_page.cold+0x63/0x94 check_new_page_bad+0x6d/0x80 rmqueue+0x46e/0x970 get_page_from_freelist+0xcb/0x3f0 ? _cond_resched+0x19/0x40 __alloc_pages_nodemask+0x164/0x300 alloc_pages_current+0x87/0xf0 skb_page_frag_refill+0x84/0x110 ... Sometimes, it would also show up as corruption in the free list pointer and cause crashes. After bisecting the issue, we found the issue started from commit e320d3012d25 ("mm/page_alloc.c: fix freeing non-compound pages"): if (put_page_testzero(page)) free_the_page(page, order); else if (!PageHead(page)) while (order-- > 0) free_the_page(page + (1 << order), order); So the problem is the check PageHead is racy because at this point we already dropped our reference to the page. So even if we came in with compound page, the page can already be freed and PageHead can return false and we will end up freeing all the tail pages causing double free.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于页面损坏问题。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux e320d3012d25b1fb5f3df4edb7bd44a1c362ec10 ~ 0a626e27f984dfbe96bd8e4fd08f20a2ede3ea23 -
Linux Linux 5.10 -

II. Public POCs for CVE-2023-52739

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-52739

请登录查看更多情报信息。

Other References for CVE-2023-52739 (4)

Same Patch Batch · Linux · 2024-05-21 · 361 CVEs total

CVE-2021-47427 9.8 CRITICAL scsi: iscsi: Fix iscsi_task use after free
CVE-2021-47328 9.8 CRITICAL scsi: iscsi: Fix conn use after free during resets
CVE-2023-52732 9.8 CRITICAL ceph: blocklist the kclient when receiving corrupted snap trace
CVE-2023-52741 9.8 CRITICAL cifs: Fix use-after-free in rdata->read_into_pages()
CVE-2021-47232 9.8 CRITICAL can: j1939: fix Use-after-Free, hold skb ref while in use
CVE-2021-47378 9.8 CRITICAL nvme-rdma: destroy cm id before destroy qp to avoid use after free
CVE-2023-52755 9.8 CRITICAL ksmbd: fix slab out of bounds write in smb_inherit_dacl()
CVE-2021-47308 8.8 HIGH scsi: libfc: Fix array index out of bound exception
CVE-2023-52801 8.8 HIGH iommufd: Fix missing update of domains_itree after splitting iopt_area
CVE-2023-52798 8.8 HIGH wifi: ath11k: fix dfs radar event locking
CVE-2023-52846 8.8 HIGH hsr: Prevent use after free in prp_create_tagged_frame()
CVE-2023-52790 8.8 HIGH swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMIC
CVE-2023-52776 8.8 HIGH wifi: ath12k: fix dfs-radar and temperature event locking
CVE-2023-52769 8.8 HIGH wifi: ath12k: fix htt mlo-offset event locking
CVE-2021-47390 8.8 HIGH KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect()
CVE-2021-47388 8.8 HIGH mac80211: fix use-after-free in CCMP/GCMP RX
CVE-2023-52829 8.4 HIGH wifi: ath12k: fix possible out-of-bound write in ath12k_wmi_ext_hal_reg_caps()
CVE-2021-47352 8.4 HIGH virtio-net: Add validation for used length
CVE-2021-47240 8.4 HIGH net: qrtr: fix OOB Read in qrtr_endpoint_post
CVE-2021-47244 8.2 HIGH mptcp: Fix out of bounds when parsing TCP options

Showing top 20 of 361 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2023-52739

No comments yet


Leave a comment