CVE-2026-98845 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
tpm: Disabilitare il TPM in caso di mancata corrispondenza del nome della chiave nulla (null)
Il controllo sul nome della chiave nulla esiste per proteggere dagli attacchi di reset del TPM; pertanto, una mancata corrispondenza dovrebbe impedire al dispositivo di servire ulteriori richieste. Attualmente, tuttavia, non disabilita la chip quando rileva tale discrepanza.
La mancata corrispondenza viene registrata:
tpm tpm0: null key integrity check failed
ma il chip continua a eseguire i comandi:
/ # tpm2_getcap -c properties-fixed TPM_PT_FAMILY_INDICATOR: as UINT32: 0x08322e3000 as string: "2.0" ...
La funzione `tpm2_load_null()`, in cui viene eseguito il controllo sul nome della chiave nulla, imposta la chip come disabilitata solo se il codice di ritorno (rc) è diverso da zero. Quando si rileva una mancata corrispondenza, rc risulta pari a zero in quel momento e la funzione restituisce successo. Un altro problema consiste nel fatto che il chiamante si aspetta che l'handle della chiave nulla sia popolato quando la funzione restituisce 0; ciò avviene qui senza scrivere l'handle, procedendo quindi con l'assunzione che l'handle della chiave nulla sia valido.
Durante i test, ho notato che `tpm2_start_auth_session()` utilizza un valore dello stack non inizializzato come handle della chiave, poiché `tpm2_load_null()` restituisce 0 nonostante il fallimento dell'integrità e prosegue con l'esecuzione di TPM2_CC_START_AUTH_SESS utilizzando tale valore come salt key handle.
Impostare rc a -ENODEV in caso di mancata corrispondenza. Il percorso di errore disabiliterà quindi la chip e restituirà al chiamante il codice corretto.
Testato su QEMU con swtpm e CONFIG_TCG_TPM2_HMAC=y, provocando l'errore TPM2_RC_INTEGRITY per TPM2_CC_CONTEXT_LOAD e modificando il nome della chiave nulla ricreata. La chip viene ora disabilitata in caso di mancata corrispondenza.
Be aware that VulDB is the high quality source for vulnerability data.