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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-45022— mm/vmalloc: fix page mapping if vm_area_alloc_pages() with high order fallback to order 0

EPSS 0.03% · P9
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-45022

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
mm/vmalloc: fix page mapping if vm_area_alloc_pages() with high order fallback to order 0
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: mm/vmalloc: fix page mapping if vm_area_alloc_pages() with high order fallback to order 0 The __vmap_pages_range_noflush() assumes its argument pages** contains pages with the same page shift. However, since commit e9c3cda4d86e ("mm, vmalloc: fix high order __GFP_NOFAIL allocations"), if gfp_flags includes __GFP_NOFAIL with high order in vm_area_alloc_pages() and page allocation failed for high order, the pages** may contain two different page shifts (high order and order-0). This could lead __vmap_pages_range_noflush() to perform incorrect mappings, potentially resulting in memory corruption. Users might encounter this as follows (vmap_allow_huge = true, 2M is for PMD_SIZE): kvmalloc(2M, __GFP_NOFAIL|GFP_X) __vmalloc_node_range_noprof(vm_flags=VM_ALLOW_HUGE_VMAP) vm_area_alloc_pages(order=9) ---> order-9 allocation failed and fallback to order-0 vmap_pages_range() vmap_pages_range_noflush() __vmap_pages_range_noflush(page_shift = 21) ----> wrong mapping happens We can remove the fallback code because if a high-order allocation fails, __vmalloc_node_range_noprof() will retry with order-0. Therefore, it is unnecessary to fallback to order-0 here. Therefore, fix this by removing the fallback code.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于mm/vmalloc组件存在页面映射问题。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux fe5c2bdcb14c8612eb5e7a09159801c7219e9ac4 ~ fd1ffbb50ef4da5e1378a46616b6d7407dc795da -
LinuxLinux 6.3 -

II. Public POCs for CVE-2024-45022

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-45022

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-09-11 · 23 CVEs total

CVE-2024-45019net/mlx5e: Take state lock during tx timeout reporter
CVE-2024-45010mptcp: pm: only mark 'subflow' endp as available
CVE-2024-45009mptcp: pm: only decrement add_addr_accepted for MPJ req
CVE-2024-45011char: xillybus: Check USB endpoints when probing device
CVE-2024-45013nvme: move stopping keep-alive into nvme_uninit_ctrl()
CVE-2024-45012nouveau/firmware: use dma non-coherent allocator
CVE-2024-45015drm/msm/dpu: move dpu_encoder's connector assignment to atomic_enable()
CVE-2024-45014s390/boot: Avoid possible physmem_info segment corruption
CVE-2024-45016netem: fix return value if duplicate enqueue fails
CVE-2024-45018netfilter: flowtable: initialise extack before use
CVE-2024-45017net/mlx5: Fix IPsec RoCE MPV trace call
CVE-2024-46672wifi: brcmfmac: cfg80211: Handle SSID based pmksa deletion
CVE-2024-45021memcg_write_event_control(): fix a user-triggerable oops
CVE-2024-45020bpf: Fix a kernel verifier crash in stacksafe()
CVE-2024-45023md/raid1: Fix data corruption for degraded array with slow disk
CVE-2024-45024mm/hugetlb: fix hugetlb vs. core-mm PT locking
CVE-2024-45026s390/dasd: fix error recovery leading to data corruption on ESE devices
CVE-2024-45025fix bitmap corruption on close_range() with CLOSE_RANGE_UNSHARE
CVE-2024-45027usb: xhci: Check for xhci->interrupters being allocated in xhci_mem_clearup()
CVE-2024-45029i2c: tegra: Do not mark ACPI devices as irq safe

Showing top 20 of 23 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2024-45022

No comments yet


Leave a comment