CVE-2026-63886 in Linuxinfo

Zusammenfassung

von VulDB • 20.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

scsi: target: iscsi: CHAP_R-Länge vor der Base64-Dekodierung validieren

chap_server_compute_hash() alloziert client_digest als kzalloc(chap->digest_size) und übergibt bei BASE64-kodierten Antworten chap_r direkt an chap_base64_decode(), ohne zu prüfen, ob die Eingabelänge mehr als digest_size Bytes Ausgabe erzeugen könnte.

chap_base64_decode() schreibt bedingungslos in das Ziel, solange es Input zum Konsumieren gibt. Bei einem MAX_RESPONSE_LENGTH von 128 und dem durch extract_param() entfernten „0b"-Präfix können bis zu 127 Base64-Zeichen den Decoder erreichen. 127 Zeichen decodiert ergeben 95 Bytes. Für SHA-256 (digest_size=32) überläuft client_digest um 63 Bytes; für MD5 (digest_size=16) beträgt der Überlauf 79 Bytes.

Die Längenprüfung in Zeile 344 wird ausgelöst, nachdem das Schreiben bereits stattgefunden hat.

Der HEX-Zweig im selben switch-Statement validiert die Länge vorab. Wenden Sie denselben Ansatz auf den BASE64-Zweig an: Entfernen Sie nachgestellte Base64-Auffüllzeichen (Padding) und weisen Sie jede Eingabe zurück, deren Datennutzlastlänge DIV_ROUND_UP(digest_size * 4, 3) überschreitet, bevor der Decoder aufgerufen wird.

Das Entfernen von trailing „=" vor dem Vergleich behandelt sowohl gepaddete als auch ungepaddete Kodierungen. chap_base64_decode() kehrt bei einem encountered „=" frühzeitig zurück, sodass die vollständige ursprüngliche Zeichenkette unverändert an den Decoder übergeben wird.

Der gegenseitige CHAP-Pfad dekodiert CHAP_C in initiatorchg_binhex, das als kzalloc(CHAP_CHALLENGE_STR_LEN) alloziert wurde. extract_param() begrenzt initiatorchg auf CHAP_CHALLENGE_STR_LEN Zeichen, sodass höchstens CHAP_CHALLENGE_STR_LEN-1 Base64-Zeichen den Decoder erreichen. Die maximale dekodierte Größe, DIV_ROUND_UP((CHAP_CHALLENGE_STR_LEN-1) * 3, 4), ist kleiner als CHAP_CHALLENGE_STR_LEN, daher ist dort kein Überlauf möglich. Am Aufrufort wird ein Kommentar hinzugefügt, um dies zu dokumentieren.

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

Zuständig

Linux

Reservieren

19.07.2026

Veröffentlichung

19.07.2026

Moderieren

akzeptiert

Eintrag

VDB-380323

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!