Katalog CVE

CVE-2026-63875

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

Percentyl 6 - wyżej niż 6% wszystkich znanych CVE

Streszczenie

W jądrze Linuxa dla architektury ARM64 wykryto podatność w mechanizmie unieważniania pamięci podręcznej translacji (TLB walk cache). Funkcja tlb_flush() nie uwzględniała flagi unshared_tables, co powodowało, że po usunięciu współdzielenia tablic PMD (huge_pmd_unshare) używano nieprawidłowej instrukcji (VALE1IS zamiast VAE1IS), nie czyściła ona wpisów niebędących liśćmi. W efekcie w pamięci podręcznej pozostawały nieaktualne wpisy tablic stron, co mogło prowadzić do błędnych translacji adresów.

Ocena ryzyka

Ryzyko polega na potencjalnym naruszeniu integralności pamięci i stabilności systemu. Nieprawidłowe translacje adresów mogą prowadzić do odczytu/zapisu w niewłaściwych obszarach pamięci, awarii systemu (kernel panic) lub w skrajnych przypadkach do eskalacji uprawnień.

Rekomendacja

Należy niezwłocznie zaktualizować jądro Linuxa do wersji zawierającej poprawkę (commit naprawiający warunek w tlb_flush() dla ARM64). Zaleca się monitorowanie dystrybucji jądra i zastosowanie łatki bezpieczeństwa.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: arm64: tlb: Flush walk cache when unsharing PMD tables When huge_pmd_unshare() is called to unshare a PMD table, the tlb_unshare_pmd_ptdesc() function sets tlb->unshared_tables=true but the aarch64 tlb_flush() only checked tlb->freed_tables to determine whether to use TLBF_NONE (vae1is, invalidates walk cache) or TLBF_NOWALKCACHE (vale1is, leaf-only). This caused the stale PMD page table entry to remain in the walk cache after unshare, potentially leading to incorrect page table walks. Fix by including unshared_tables in the check, so that when unsharing tables, TLBF_NONE is used and the walk cache is properly invalidated. Here is the detailed distinction between vae1is and vale1is: | Instruction Combination | Actual Invalidation Scope | | ------------------------ | --------------------------------------------------| | `VAE1IS` + TTL=`0` | All entries at all levels (full invalidation) | | `VAE1IS` + TTL=`2` (L2) | Non-leaf at Level 0/1 + leaf at Level 2 | | `VALE1IS` + TTL=`0` | Leaf entries at all levels (non-leaf not cleared) | | `VALE1IS` + TTL=`2` (L2) | Leaf entry at Level 2 only |

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS