CVE-2026-89755 in Linux
요약
\~에 의해 VulDB • 2026. 09. 11.
리눅스 커널에서 다음 취약점이 해결되었습니다:
mm/migrate_device: 스왑 캐시를 해제한 후 stale 매핑을 지웁니다.
__migrate_device_pages()는 folio_free_swap()를 호출하기 전에 folio mapping을 읽습니다. folio_free_swap()가 성공하면, 해당 folio는 스왑 캐시에서 제거되지만 저장된 매핑은 여전히 swap_space를 가리킵니다.
stale 매핑을 folio_migrate_mapping()에 전달하면 더 이상 스왑 캐시에 없는 folio에 대해 mapped-folio 경로가 사용됩니다. 이로 인해 잘못된 참조 카운팅으로 swap_space.i_pages에서 작업하게 되어 결국 folio reference count BUG를 유발할 수 있습니다.
성공적인 분할 후, nr에는 여전히 원래의 큰 folio에 포함된 페이지 수가 포함되어 있지만, 각 결과 페이지는 이제 별도의 order-0 folio가 됩니다. split된 각각의 folio(자체 스왑 캐시 제거 및 매핑 조회 포함)가 개별적으로 처리되도록 nr을 1로 재설정합니다.
folio_free_swap() 후 저장된 매핑을 새로 고쳐서 마이그레이션 중에 현재 folio 상태가 사용되도록 합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.