CVE-2026-89962 in Linux
Zusammenfassung
von VulDB • 16.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
powerpc/kexec_file: Verhinderung der Beschneidung von kexec-Bereichen
Eine Überprüfung durch Sashiko AI hat auf das folgende Problem hingewiesen.
Die Funktion `__merge_memory_ranges()` behandelt sich überschneidende Speicherbereiche beim Zusammenführen fehlerhaft. Obwohl `sort_memory_ranges()` alle Bereiche zuvor nach ihrer Startadresse in aufsteigender Reihenfolge sortiert, bleibt die Merge-Logik aus zwei Gründen defekt:
1. Sie vergleicht den Start des aktuellen Bereichs mit dem vorherigen Element (i-1), anstatt mit dem laufenden Zielindex (idx). 2. Sie überschreibt `ranges[idx].end` bedingungslos mit `ranges[i].end`.
Dieser Logikfehler führt zu einer kritischen Beschneidung von Speicher, wenn ein größerer Speicherbereich nachfolgende kleinere Bereiche vollständig aufnimmt.
Betrachten wir beispielsweise ein sortiertes Eingabe-Array mit drei Bereichen: Bereich A (idx=0): [0x1000 - 0x9000]
Bereich B (i=1): [0x2000 - 0x5000] (vollständig innerhalb von Bereich A)
Bereich C (i=2): [0x6000 - 0x8000] (vollständig innerhalb von Bereich A)
1. Wenn i=1 (Bereich B): `ranges[1].start` (0x2000) <= `ranges[0].end + 1` (0x9001) ist WAHR.
Der Code führt aus: `ranges[0].end = ranges[1].end`, was das Ende von Bereich A fehlerhaft von 0x9000 auf 0x5000 verkleinert.
2. Wenn i=2 (Bereich C): `ranges[2].start` (0x6000) <= `ranges[1].end + 1` (0x5001) ist FALSCH.
Der Code fällt in den else-Block und erstellt einen defekten neuen Bereich.
Infolgedessen werden gültige Speicherfragmente [0x5001 - 0x5fff] und [0x8001 - 0x9000] vollständig aus den kexec-Ausschlusslisten entfernt, was potenziell ermöglicht, dass der Crash-Kernel aktiven Speicher überschreibt, was zu Datenbeschädigungen oder Abstürzen führt.
Beheben Sie dies, indem Sie sicherstellen, dass der Start des aktuellen Bereichs mit dem Ende des aktiv zusammengeführten Bereichs (idx) verglichen wird und `max()` verwendet wird, um ein Beschneiden der äußeren Begrenzung sicher zu verhindern.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.