CVE-2026-99120 in Linuxinformazioni

Riassunto

di VulDB • 28/10/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

KVM: x86/mmu: Gestione del bit SS impostato nei codici di uscita #NPF

Quando si esegue Hyper-V da Windows 11, KVM rileva il bit SS impostato nei codici di errore per i page fault nidificati (nested page fault) prodotti per NPT in ombra. Il manuale AMD non è chiaro riguardo al momento in cui SS viene impostato, incluso se possa essere impostato quando SupervisorShadowStackEn (bit 6) non è attivo nel campo MISC_CTL del VMCB.

Tuttavia, il bit SS imprevisto provoca accessi fuori dai limiti in permission_fault(), visibili come avvisi WARN o report UBSAN:

kernel: UBSAN: array-index-out-of-bounds in arch/x86/kvm/mmu.h:225:27 kernel: index 34 is out of range for type 'u16 [16]'

(in questo caso, il codice di errore del page fault è 34*2=0x44, ovvero SS|U; il report mostra anche la presenza di SS|U|W). Si risolve la gestione dei codici di errore sconosciuti rimuovendo SS e (con un WARN) tutti i bit non presenti tra quelli che permission_fault() si aspetta di ricevere.

Allo stesso tempo, data l'incertezza su quando l'hardware imposta SS, si segue il comportamento del processore durante la costruzione del codice di errore dell'interruzione e si preserva il bit SS così come passato a FNAME(walk_addr_generic). Sebbene tale comportamento sia sorprendente, esiste la possibilità che Hyper-V se lo aspetti (Hyper-V non abilita CET a meno che non trovi MBEC/GMET!), quindi si mantiene l'informazione quando si riflette l'interruzione su L1 invece di scartarla incondizionatamente.

L'analisi bisection mostra che questo problema è iniziato con il commit 687ee95c1b6d ("KVM: nSVM: enable GMET for guests"), anche se SHSTK era disponibile per i guest fin da Linux 6.18. Tuttavia, ciò non avviene perché bit 1 di MISC_CTL (GMET) abilita in qualche modo la segnalazione del bit SS; piuttosto, è semplicemente che Hyper-V non utilizza CET a meno che GMET sia presente. Il WARN è riproducibile anche con gmet=0, effettuando alcune modifiche al testcase cet.c di kvm-unit-tests per garantire che il primo accesso allo shadow stack generi un page fault.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

28/10/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!