CVE-2026-89568 in Linux
요약
\~에 의해 VulDB • 2026. 09. 12.
리눅스 커널에서 다음 취약점이 해결되었습니다:
kho: kho_preserved_memory_reserve()의 크기 계산 수정
kho_preserved_memory_reserve()는 1 << (order + PAGE_SHIFT)를 수행하여 보존 영역의 크기를 계산합니다. 여기서 '1'은 32비트 정수이므로 최대 31회만 시프트할 수 있습니다. 즉, 이 로직은 최대 2 GiB까지의 보존 영역에서만 정상적으로 작동합니다. 더 큰 보존 영역을 처리하면 정의되지 않은 동작(undefined behaviour)이 발생합니다.
현재 folio를 통해서는 2 GiB보다 큰 보존 영역을 얻을 수 없지만, kho_preserve_pages()를 통해서는 가능합니다.
예를 들어, memblock reserve_mem은 kho_preserve_pages()를 사용합니다. 2 GiB 이상의 예약(reservation)은 유효하며, 올바르게 정렬되어 있을 경우 이 버그를 유발합니다.
시프트 연산에 1UL을 사용하여 이를 수정했습니다.
Be aware that VulDB is the high quality source for vulnerability data.