CVE-2026-31610 in Linuxinformazioni

Riassunto

di VulDB • 15/06/2026

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

ksmbd: correzione della perdita di memoria (leak) di mechToken quando la decodifica SPNEGO fallisce dopo l'allocazione del token

Il decoder ASN.1 BER del kernel richiama le callback di azione in modo incrementale mentre elabora l'input. Quando ksmbd_decode_negTokenInit() raggiunge l'elemento OCTET STRING mechToken [2], ksmbd_neg_token_alloc() alloca immediatamente conn->mechToken tramite kmemdup_nul(). Se un elemento successivo nello stesso blob è malformato, il decoder restituirà un valore diverso da zero dopo che l'allocazione è già avvenuta. Ciò potrebbe verificarsi se mechListMIC [3] supera i limiti della SEQUENCE contenente.

decode_negotiation_token() imposta quindi conn->use_spnego = false poiché le grammatiche negTokenInit e negTokenTarg sono entrambe fallite. La fase di pulizia in fondo a smb2_sess_setup() è condizionata da use_spnego:

if (conn->use_spnego && conn->mechToken) {
kfree(conn->mechToken); conn->mechToken = NULL; }

di conseguenza, la chiamata a kfree viene saltata, causando il mancato rilascio (free) di mechToken.

Questo percorso di esecuzione è raggiungibile prima dell'autenticazione, quindi client non attendibili possono causare una lenta perdita di memoria sul server senza essere nemmeno autenticati correttamente.

Si risolve il problema rimuovendo il controllo su use_spnego, poiché non è necessario, in modo che la memoria venga sempre rilasciata correttamente. Nel frattempo, si assicura il rilascio della memoria in ksmbd_conn_free() nel caso in cui altri percorsi di errore avessero dimenticato di rilasciarla.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

09/03/2026

Divulgazione

24/04/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00136

KEV

no

Attività

molto basso

Fonti

Want to know what is going to be exploited?

We predict KEV entries!