Überblick
Der öffentliche Linux-CVE-Eintrag beschreibt ein Problem mit der Ganzzahlbreite in dbExtendFS() in fs/jfs/jfs_dmap.c. JFS berechnete eine Zuordnungsgruppengröße mit 1 << l2agsize. Eine große Verschiebung des 32-Bit-Operanden konnte undefiniertes Verhalten und eine ungültige Gruppengröße erzeugen.
Die Korrektur wandelt den linken Operanden vor der Verschiebung in s64 um: (s64)1 << l2agsize. Dadurch verwendet die Berechnung 64-Bit-Arithmetik und entspricht dem Typ der gespeicherten Zuordnungsgruppengröße. Nur das Ergebnis umzuwandeln würde die problematische Operation bei ihrer ursprünglichen Breite belassen.
Eine ungültige Zuordnungsgruppengröße kann nachfolgende Dateisystemoperationen beeinflussen. Der öffentliche Hinweis beschreibt mögliche Dateisystembeschädigung und Kernelabstürze. Er verlinkt auch die Upstream-Korrektur und Aufzeichnungen betroffener Versionen; distributionsspezifische Korrekturen sind anhand der Sicherheitshinweise des Paketanbieters zu prüfen.
Für die Codeanalyse lautet die allgemeinere Lehre, die Typen arithmetischer Zwischenoperationen zu prüfen, insbesondere bei Verschiebungen und Größenberechnungen. Eine breite Zielvariable macht einen schmaleren Ausdruck nicht von selbst sicher.
Eckdaten
- Schwachstellenhinweis
- 2025
- Öffentlicher Eintrag
- Linux kernel · National Vulnerability Database
- Betroffener Code
- JFS filesystem · dbExtendFS() in fs/jfs/jfs_dmap.c
- Themen
- CVE-2025-37858 · JFS · Ganzzahlarithmetik · Zwischentypen