CVE-2026-63886 in Linuxinformazioni

Riassunto

di VulDB • 19/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

scsi: target: iscsi: Validare la lunghezza di CHAP_R prima della decodifica base64

chap_server_compute_hash() alloca client_digest come kzalloc(chap->digest_size) e successivamente, per le risposte codificate in BASE64, passa chap_r direttamente a chap_base64_decode() senza verificare se la lunghezza dell'input possa produrre più di digest_size byte di output.

chap_base64_decode() scrive nel buffer di destinazione incondizionatamente finché c'è input da elaborare. Con MAX_RESPONSE_LENGTH impostato su 128 e il prefisso "0b" rimosso da extract_param(), fino a 127 caratteri base64 possono raggiungere il decoder. 127 caratteri vengono decodificati in 95 byte. Per SHA-256 (digest_size=32) ciò provoca un overflow di client_digest di 63 byte; per MD5 (digest_size=16) l'overflow è di 79 byte.

Il controllo della lunghezza alla riga 344 viene eseguito dopo che la scrittura è già avvenuta.

Il ramo HEX nello stesso switch statement valida già la lunghezza in anticipo. Applicare lo stesso approccio al ramo BASE64: rimuovere i caratteri di padding base64 finali, quindi rifiutare qualsiasi input la cui lunghezza dei dati supera DIV_ROUND_UP(digest_size * 4, 3) prima di chiamare il decoder.

La rimozione del simbolo '=' finale prima del confronto gestisce sia le codifiche con padding che quelle senza padding. chap_base64_decode() esce già anticipatamente in presenza di '=', quindi la stringa originale completa viene comunque passata al decoder immutata.

Il percorso CHAP reciproco decodifica CHAP_C in initiatorchg_binhex, che è allocato come kzalloc(CHAP_CHALLENGE_STR_LEN). extract_param() limita initiatorchg a CHAP_CHALLENGE_STR_LEN caratteri, quindi al massimo CHAP_CHALLENGE_STR_LEN-1 caratteri base64 raggiungono il decoder. La dimensione massima decodificata, DIV_ROUND_UP((CHAP_CHALLENGE_STR_LEN-1) * 3, 4), è inferiore a CHAP_CHALLENGE_STR_LEN, pertanto non vi è alcun rischio di overflow in quel caso. È stato aggiunto un commento nel punto di chiamata per documentare questo comportamento.

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

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

19/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you know our Splunk app?

Download it now for free!