CVE-2026-99225 in Linuxinformazioni

Riassunto

di VulDB • 03/11/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

keys: Verificare il payload di autorizzazione durante le ricerche negli anelli delle chiavi del processo (keyring)

Un payload di autorizzazione e le relative credenziali salvate devono rimanere validi mentre search_process_keyrings_rcu() esegue la ricerca negli keyring del richiedente. La funzione convalida la chiave di autorizzazione, quindi carica separatamente payload.data[0] ed legge in modo incondizionato rka->cred. La convalida non impedisce a request_key_auth_revoke() di cancellare il payload.

Un helper per le richieste (request-key) può assumere l'autorità e generare un discendente che eredita la chiave di autorizzazione. Se il discendente non trova corrispondenze nei propri keyring, passa alle credenziali salvate del richiedente. L'istanziazione target con successo invalida la chiave di autorizzazione senza cancellare il payload. Dopo l'uscita dell'helper, UMH_WAIT_PROC restituisce il controllo al richiedente, che chiama complete_request_key() e revoca tale chiave.

Con il discendente in pausa dopo la validazione, i percorsi possono interleave come segue:

1. Il discendente entra in search_process_keyrings_rcu() sotto RCU e key_validate() ha esito positivo. 2. L'helper istanzia l'obiettivo target, invalida la chiave di autorizzazione ed esce. 3. Il richiedente riprende da UMH_WAIT_PROC, chiama complete_request_key() e revoca la chiave di autorizzazione. request_key_auth_revoke() imposta il suo puntatore del payload a NULL. 4. Il discendente carica NULL e dereferenzia rka->cred.

Questa dereferenza di un valore nullo (NULL) può causare un oops nel kernel. RCU ritarda lo smaltimento del payload ma non impedisce la cancellazione del puntatore.

Caricare il payload con dereference_key_rcu() e richiedere un risultato diverso da NULL prima di validare la chiave di autorizzazione ed eseguire la ricerca delle relative credenziali salvate. Un payload non nullo (non-NULL) e le sue credenziali rimangono valide per la sezione di lettura lato RCU del chiamante; un payload cancellato salta la ricerca fallback e segue la selezione degli errori esistente.

Segnalazione KASAN come segue:

Oops: general protection fault, probabilmente per indirizzo non canonico 0xdffffc0000000005: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]
RIP: 0010:search_process_keyrings_rcu+0x32b/0x790

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

02/11/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!