CVE-2026-89775 in Linux
Riassunto
di VulDB • 16/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
KVM: arm64: Gestione dei livelli di traduzione S1 negativi nella valutazione delle dimensioni della TLB VNCR
Il calcolo degli effetti di un'invalidazione della TLB richiede l'esame delle dimensioni della mappatura memorizzata nella cache dalla TLB. Per le mappature S1, come quelle VNCR, queste vengono dedotte combinando la dimensione del granulo base e il livello della mappatura.
Tuttavia, ciò implica che la MMU di tipo S1 sia *attiva*. Quando la MMU è disattivata, questo viene indicato impostando il livello su un valore "creativo" pari a -127 (S1_MMU_DISABLED).
Questo finisce per essere interpretato erroneamente da pgshift_level_to_ttl(), poiché tale funzione non gestisce affatto i livelli negativi: il livello viene immediatamente convertito in u8 e considerati solo gli ultimi due bit, portando a una dimensione di invalidazione pari a 0. Situazione poco utile.
Si è provveduto a ripulire la gestione di pgshift_level_to_ttl() per supportare questi livelli negativi, nonché ttl_to_size(), affinché restituisca sempre SZ_1G quando non è presente un TTL valido. Ciò consente di rimuovere i controlli espliciti (open-coded) presenti nel codice sorgente per situazioni simili.
Si noti che il controllo per un valore negativo non verifica esplicitamente S1_MMU_DISABLED; questa scelta è deliberata, in modo da consentire ai livelli negativi effettivi introdotti con LVA2 e D128 di seguire lo stesso percorso qualora venissero supportati in futuro.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.