CVE-2026-89962
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
powerpc/kexec_file: Zapobiega obcinaniu zakresu kexec
Recenzja Sashiko AI zwróciła uwagę na następujący problem.
Funkcja __merge_memory_ranges() niepoprawnie obsługuje nakładanie się
zakresy pamięci podczas ich łączenia. Chociaż sort_memory_ranges() sortuje wszystko
zakresy według adresu początkowego w kolejności rosnącej, wcześniej nastąpi połączenie
logika pozostaje wadliwa na dwa sposoby:
1. Porównuje początek bieżącego zakresu z poprzednim elementem (i-1)
zamiast bieżącego indeksu docelowego (idx)
2. Bezwarunkowo zastępuje „zakresy[idx].end” przez „zakresy[i].end”.
Ta wada logiczna prowadzi do krytycznego obcięcia pamięci w przypadku większej pamięci
zakres całkowicie obejmuje kolejne mniejsze zakresy.
Rozważmy na przykład posortowaną tablicę wejściową z trzema zakresami:
Zakres A (idx=0): [0x1000 - 0x9000]
Zakres B (i=1): [0x2000 - 0x5000] (całkowicie wewnątrz zakresu A)
Zakres C (i=2): [0x6000 - 0x8000] (całkowicie w zakresie A)
1. Gdy i=1 (zakres B):
zakresy[1].start (0x2000) <= zakresy[0].end + 1 (0x9001) to PRAWDA.
Kod wykonuje: ranges[0].end = ranges[1].end, co błędnie
zmniejsza koniec zakresu A z 0x9000 do 0x5000.
2. Gdy i=2 (zakres C):
zakresy[2].start (0x6000) <= zakresy[1].end + 1 (0x5001) to FAŁSZ.
Kod wpada do bloku else, tworząc nowy, uszkodzony zakres.
W rezultacie prawidłowe fragmenty pamięci [0x5001 - 0x5fff] i [0x8001 - 0x9000]
są całkowicie tracone z list wykluczeń kexec, co potencjalnie pozwala
awarię jądra w celu nadpisania aktywnej pamięci, powodując uszkodzenie danych
lub ulega awarii.
Napraw ten problem, upewniając się, że początek bieżącego zakresu jest porównywany z
koniec aktywnego połączonego zakresu (idx) i użyj max(), aby bezpiecznie zapobiec
zewnętrzną granicę przed obcięciem.
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org