Name | CVE-2024-26712 |
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. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-3842-1, DSA-5681-1, ELA-1093-1 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
linux (PTS) | jessie, jessie (lts) | 3.16.84-1 | vulnerable |
stretch (security) | 4.9.320-2 | vulnerable | |
stretch (lts), stretch | 4.9.320-3 | vulnerable | |
buster (security), buster, buster (lts) | 4.19.316-1 | fixed | |
bullseye | 5.10.223-1 | fixed | |
bullseye (security) | 5.10.226-1 | fixed | |
bookworm | 6.1.115-1 | fixed | |
bookworm (security) | 6.1.112-1 | fixed | |
trixie | 6.11.7-1 | fixed | |
sid | 6.11.9-1 | fixed | |
linux-5.10 (PTS) | jessie, jessie (lts) | 5.10.226-1~deb8u1 | fixed |
stretch (lts), stretch | 5.10.226-1~deb9u1 | fixed | |
buster, buster (lts) | 5.10.226-1~deb10u1 | fixed | |
buster (security) | 5.10.218-1~deb10u1 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
linux | source | jessie | (unfixed) | end-of-life | ||
linux | source | stretch | (unfixed) | end-of-life | ||
linux | source | buster | (not affected) | |||
linux | source | bullseye | 5.10.216-1 | DSA-5681-1 | ||
linux | source | bookworm | 6.1.82-1 | |||
linux | source | (unstable) | 6.7.7-1 | |||
linux-5.10 | source | jessie | 5.10.216-1~deb8u1 | ELA-1093-1 | ||
linux-5.10 | source | stretch | 5.10.216-1~deb9u1 | ELA-1093-1 | ||
linux-5.10 | source | buster | 5.10.216-1~deb10u1 | DLA-3842-1 |
[buster] - linux <not-affected> (Vulnerable code not present)
https://git.kernel.org/linus/4a7aee96200ad281a5cc4cf5c7a2e2a49d2b97b0 (6.8-rc5)