CVE-2023-52497 in Linux
요약
\~에 의해 VulDB • 2026. 05. 31.
리눅스 커널에서 다음 취약점이 해결되었습니다:
erofs: LZ4 인플레이스 압축 해제 수정
현재 EROFS는 인플레이스 압축 해제를 위해 다른 압축된 버퍼를 매핑할 수 있으며, 이는 압축된 데이터의 일부 페이지가 실제로 인플레이스 I/O가 아닌 경우를 처리하는 데 사용되었습니다.
그러나 대부분의 간단한 LZ77 알고리즘과 마찬가지로 LZ4는 압축된 데이터가 압축 해제된 버퍼의 끝에 배치되기를 기대하며, 겹치는 경우를 처리하기 위해 명시적으로 memmove()를 사용합니다: _________________________________ |_ 압축 해제 방향 --> ____ |_ 압축된 데이터 _|
EROFS는 압축된 데이터를 이와 같이 배치하지만, 일반적으로 두 개의 개별 가상 버퍼를 매핑하므로 상대적 순서가 불확실합니다. 이전에는 LZ4가 짧은 겹치는 리터럴에 대해서만 memmove()를 사용하고 x86/arm64의 memmove 구현이 이를 완전히 커버하여 이 문제가 발생하지 않았기 때문에 거의 관찰되지 않았습니다. Juhyung은 새로운 인텔 x86 프로세서에서 EROFS 데이터 손상이 발견될 수 있다고 보고했습니다. 몇 가지 분석 결과, 새로운 FSRM 기능을 갖춘 최근 x86 프로세서가 "rep movsb"를 통해 이 문제를 노출시키는 것으로 보입니다.
일단 LZ4 인플레이스 압축 해제를 위해 압축 해제된 버퍼를 엄격하게 사용합시다. 나중에 유용한 개선 사항으로, 이 두 버퍼를 올바른 순서로 함께 묶어보는 시도를 할 수 있습니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.