CVE-2024-26712
Last modified
CVE-2024-26712 is a high-severity vulnerability rated 7.8/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: powerpc/kasan: Fix addr error caused by page alignment In kasan_init_region, when k_start is not page aligned, at the begin of for loop, k_cur = k_start & PAGE_MASK is less than k_start, and then `va = block + k_cur - k_start` is less than block, the addr va is invalid, because the memory address space from va to block is not alloced by memblock_alloc, which will not be reserved by memblock_reserve later, it will be used by other places. As a result, memory overwriting occurs. for example: int __init __weak kasan_init_region(void *start, size_t size) { [...] /* if say block(dcd97000) k_start(feef7400) k_end(feeff3fe) */ block = memblock_alloc(k_end - k_start, PAGE_SIZE); [...] for (k_cur = k_start & PAGE_MASK; k_cur < k_end; k_cur += PAGE_SIZE) { /* at the begin of for loop * block(dcd97000) va(dcd96c00) k_cur(feef7000) k_start(feef7400) * va(dcd96c00) is less than block(dcd97000), va is invalid */ void *va = block + k_cur - k_start; [...] } [...] } Therefore, page alignment is performed on k_start before memblock_alloc() to ensure the validity of the VA address.. EPSS estimates a 0.22% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: powerpc/kasan: Fix addr error caused by page alignment In kasan_init_region, when k_start is not page aligned, at the begin of for loop, k_cur = k_start & PAGE_MASK is less than k_start, and then `va = block + k_cur - k_start` is less than block, the addr va is invalid, because the memory address space from va to block is not alloced by memblock_alloc, which will not be reserved by memblock_reserve later, it will be used by other places. As a result, memory overwriting occurs. for example: int __init __weak kasan_init_region(void *start, size_t size) { [...] /* if say block(dcd97000) k_start(feef7400) k_end(feeff3fe) */ block = memblock_alloc(k_end - k_start, PAGE_SIZE); [...] for (k_cur = k_start & PAGE_MASK; k_cur < k_end; k_cur += PAGE_SIZE) { /* at the begin of for loop * block(dcd97000) va(dcd96c00) k_cur(feef7000) k_start(feef7400) * va(dcd96c00) is less than block(dcd97000), va is invalid */ void *va = block + k_cur - k_start; [...] } [...] } Therefore, page alignment is performed on k_start before memblock_alloc() to ensure the validity of the VA address.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Linux | Linux Kernel | >= 5.4, < 5.10.210 | — |
| Linux | Linux Kernel | >= 5.11, < 5.15.149 | — |
| Linux | Linux Kernel | >= 5.16, < 6.1.79 | — |
| Linux | Linux Kernel | >= 6.2, < 6.6.18 | — |
| Linux | Linux Kernel | >= 6.7, < 6.7.6 | — |
| Linux | Linux Kernel | 6.8 | Rc1 |
| Debian | Debian Linux | 10.0 | — |
References
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.htmlMailing List, Third Party Advisory
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2024-26712?
How severe is CVE-2024-26712?
How do I fix CVE-2024-26712?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2024
- CVE-2024-26707In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26708In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26709In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-2671A vulnerability was found in Campcodes Online Job Finder Sys…6.5
- CVE-2024-26710In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26711In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26713Rejected reason: This CVE ID has been rejected or withdrawn …
- CVE-2024-26714In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26715In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26716In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26717In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2024-26718In the Linux kernel, the following vulnerability has been re…5.5
Are you affected by CVE-2024-26712?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
