CVE-2026-64317 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
isofs: Begrenzung der Rock-Ridge-Symbolic-Link-Komponenten auf den SL-Eintrag
get_symlink_chunk() und die SL-Behandlung in parse_rock_ridge_inode_internal() durchlaufen die variabel langen Komponenten eines Rock-Ridge-"SL"-Eintrags (Symbolischer Link). Jede Komponente besteht aus einem zwei Byte großen Header (Flags, Länge), gefolgt von len Bytes Text. Sie belegt somit slp->len + 2 Bytes. Beide Schleifen lesen slp->len und springen zur nächsten Komponente; get_symlink_chunk() führt zusätzlich memcpy(rpnt, slp->text, slp->len) aus, überprüft jedoch keine der beiden Funktionen, ob die Komponente innerhalb des SL-Eintrags liegt, bevor sie dereferenziert wird.
Ein manipulierter SL-Eintrag, dessen Komponente eine Länge angibt, die über den Eintrag hinausgeht (rr->len), löst daher einen Out-of-Bounds-Lesezugriff von bis zu 255 Bytes aus. Wenn sich der Eintrag am Ende seines zugrunde liegenden Puffers befindet – beispielsweise ein kleiner, durch kmalloc() allozierter Fortsetzungsblock, auf den über einen CE-Eintrag zugegriffen wird –, überschreitet der Lesezugriff die Allokation; get_symlink_chunk() kopiert dann die Out-of-Bounds-Bytes in den Symbolic-Link-Inhalt, der readlink() an den Benutzerbereich zurückgibt, wodurch benachbarter Kernel-Speicher offengelegt wird.
ISO 9660-Images werden routinemäßig von nicht vertrauenswürdigen Wechseldatenträgern eingehängt – Desktop-Umgebungen hängen sie automatisch ein (z. B. über udisks2) ohne CAP_SYS_ADMIN –, sodass die Inhalt der Einträge vom Angreifer kontrolliert werden können.
Verwerfen Sie jede Komponente, die nicht in den verbleibenden Bytes des Eintrags passt, bevor diese verwendet wird. Geben Sie in get_symlink_chunk() NULL zurück, ähnlich wie bei den bestehenden Prüfungen für das Ausgabe-Puffer-Limit (plimit), sodass ein fehlerhafter Eintrag dazu führt, dass readlink() mit -EIO fehlschlägt, anstatt stillschweigend ein abgeschnittenes Ziel zurückzugeben; stoppen Sie in parse_rock_ridge_inode_internal() den Durchlauf der Inode-Größe.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.