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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-57945— riscv: mm: Fix the out of bound issue of vmemmap address

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存在安全漏洞,该漏洞源于riscv模块中vmemmap地址计算错误。这可能导致内存越界或系统崩溃。

CVSS 7.8 · High EPSS 0.21% · P11

Possible ATT&CK Techniques 1 AI

T1068 · Exploitation for Privilege Escalation

Affected Version Matrix 19

VendorProduct Version RangeStatus
Linux Linux 8af1c121b0102041809bc137ec600d1865eaeedd< 04350304428063da6a55a8a4597d409dc69148b2 affected
8310080799b40fd9f2a8b808c657269678c149af< 92f08673d3f1893191323572f60e3c62f2e57c2f affected
a278d5c60f21aa15d540abb2f2da6e6d795c3e6e< a4a7ac3d266008018f05fae53060fcb331151a14 affected
a11dd49dcb9376776193e15641f84fcc1e5980c9< d2bd51954ac8377c2f1eb1813e694788998add66 affected
a11dd49dcb9376776193e15641f84fcc1e5980c9< f754f27e98f88428aaf6be6e00f5cbce97f62d4b affected
5941a90c55d3bfba732b32208d58d997600b44ef affected
2a1728c15ec4f45ed9248ae22f626541c179bfbe affected
5.10.212< 5.10.258 affected
… +11 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-57945

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
riscv: mm: Fix the out of bound issue of vmemmap address
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the out of bound issue of vmemmap address In sparse vmemmap model, the virtual address of vmemmap is calculated as: ((struct page *)VMEMMAP_START - (phys_ram_base >> PAGE_SHIFT)). And the struct page's va can be calculated with an offset: (vmemmap + (pfn)). However, when initializing struct pages, kernel actually starts from the first page from the same section that phys_ram_base belongs to. If the first page's physical address is not (phys_ram_base >> PAGE_SHIFT), then we get an va below VMEMMAP_START when calculating va for it's struct page. For example, if phys_ram_base starts from 0x82000000 with pfn 0x82000, the first page in the same section is actually pfn 0x80000. During init_unavailable_range(), we will initialize struct page for pfn 0x80000 with virtual address ((struct page *)VMEMMAP_START - 0x2000), which is below VMEMMAP_START as well as PCI_IO_END. This commit fixes this bug by introducing a new variable 'vmemmap_start_pfn' which is aligned with memory section size and using it to calculate vmemmap address instead of phys_ram_base.
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存在安全漏洞,该漏洞源于riscv模块中vmemmap地址计算错误。这可能导致内存越界或系统崩溃。
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 8af1c121b0102041809bc137ec600d1865eaeedd ~ 04350304428063da6a55a8a4597d409dc69148b2 -
Linux Linux 6.8 -

II. Public POCs for CVE-2024-57945

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-57945

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

Patches & Fixes for CVE-2024-57945 (4)

Same Patch Batch · Linux · 2025-01-21 · 25 CVEs total

CVE-2025-21663 10.0 CRITICAL net: stmmac: dwmac-tegra: Read iommu stream id from device tree
CVE-2024-57932 9.8 CRITICAL gve: guard XDP xmit NDO on existence of xdp queues
CVE-2024-57936 9.8 CRITICAL RDMA/bnxt_re: Fix max SGEs for the Work Request
CVE-2025-21659 8.1 HIGH netdev: prevent accessing NAPI instances from another namespace
CVE-2025-21664 7.8 HIGH dm thin: make get_first_thin use rcu-safe list first function
CVE-2025-21661 7.8 HIGH gpio: virtuser: fix missing lookup table cleanups
CVE-2024-57943 exfat: fix the new buffer was not zeroed before writing
CVE-2024-57946 virtio-blk: don't keep queue frozen during system suspend
CVE-2025-21662 net/mlx5: Fix variable not being completed when function returns
CVE-2025-21660 ksmbd: fix unexpectedly changed path in ksmbd_vfs_kern_path_locked
CVE-2025-21658 btrfs: avoid NULL pointer dereference if no valid extent tree
CVE-2025-21657 sched_ext: Replace rq_lock() to raw_spin_rq_lock() in scx_ops_bypass()
CVE-2025-21656 hwmon: (drivetemp) Fix driver producing garbage data when SCSI errors occur
CVE-2024-57944 iio: adc: ti-ads1298: Add NULL check in ads1298_init
CVE-2024-57930 tracing: Have process_string() also allow arrays
CVE-2024-57942 netfs: Fix ceph copy to cache on write-begin
CVE-2024-57941 netfs: Fix the (non-)cancellation of copy when cache is temporarily disabled
CVE-2024-57940 exfat: fix the infinite loop in exfat_readdir()
CVE-2024-57939 riscv: Fix sleeping in invalid context in die()
CVE-2024-57938 net/sctp: Prevent autoclose integer overflow in sctp_association_init()

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

IV. Related Vulnerabilities

V. Comments for CVE-2024-57945

No comments yet


Leave a comment