CVE-2024-26712

Vulnérabilité élevée dans Linux (Linux)

CVSS 7.8 · Élevée
EPSS 0.3%
Linux•Linux•Versions : 6.6.18, <=6.1.*, 5.4, 0, 5ce93076d8ee2a0fac3ad4adbd2e91b6197146db, <70ef2ba1f4286b2b73675aeb424b590c92d57b25, <230e89b5ad0a33f530a2a976b3e5e4385cb27882, 6.8, <=5.10.*, <=6.6.*, <0516c06b19dc64807c10e01bb99b552bdf2d7dbe, <0c09912dd8387e228afcc5e34ac5d79b1e3a1058, 5.15.149, <2738e0aa2fb24a7ab9c878d912dc2b239738c6c6, 5.3.6, <5.4, 6.1.79, 5.10.210, 6.7.6, <=*, <4a7aee96200ad281a5cc4cf5c7a2e2a49d2b97b0, <=5.15.*, <=6.7.*, 663c0c9496a69f80011205ba3194049bcafd681d

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.

Gravité et risque d'exploitation

CVE-2024-26712 obtient un score CVSS de 7.8/10, soit une gravité élevée. Selon le modèle EPSS, la probabilité qu'elle soit exploitée dans les 30 prochains jours est de 0.25 %, ce qui la place devant 15.3 % des CVE référencées.

Que faire ?

  • Vérifiez si Linux (versions 6.6.18, <=6.1.*, 5.4, 0, 5ce93076d8ee2a0fac3ad4adbd2e91b6197146db, <70ef2ba1f4286b2b73675aeb424b590c92d57b25, <230e89b5ad0a33f530a2a976b3e5e4385cb27882, 6.8, <=5.10.*, <=6.6.*, <0516c06b19dc64807c10e01bb99b552bdf2d7dbe, <0c09912dd8387e228afcc5e34ac5d79b1e3a1058, 5.15.149, <2738e0aa2fb24a7ab9c878d912dc2b239738c6c6, 5.3.6, <5.4, 6.1.79, 5.10.210, 6.7.6, <=*, <4a7aee96200ad281a5cc4cf5c7a2e2a49d2b97b0, <=5.15.*, <=6.7.*, 663c0c9496a69f80011205ba3194049bcafd681d) est présent sur votre parc.
  • Appliquez le correctif ou la version corrigée indiqués dans les références de l'éditeur.
  • À défaut de correctif, limitez l'exposition (filtrage réseau, désactivation du composant).
  • Automatisez la détection : les agents CVE Heimdall (gratuits, open source) corrèlent l'inventaire de vos serveurs avec la base CVE.

Références