CVE-2022-50286 in Linux
요약
\~에 의해 VulDB • 2026. 05. 24.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ext4: bigalloc 및 inline 옵션이 활성화된 환경에서 ext4_clu_mapped()의 지연 할당 버그 수정
인라인 데이터를 포함하는 파일을 익스텐트(extent)로 변환할 때, bigalloc과 inline 옵션을 모두 사용하여 생성된 파일 시스템에서 수행된 지연 할당은 잘못된 익스텐트 상태 캐시 내용, 잘못된 예약된 클러스터 수, 커널 메모리 누수, 그리고 잠재적인 커널 패닉을 초래할 수 있습니다.
bigalloc 모드에서는 블록을 지연 할당해야 하는지 여부를 결정하는 코드가 해당 블록이 이전에 할당된 클러스터에 매핑되는지 확인하기 위해 익스텐트 트리를 검색합니다. 만약 매핑되지 않으면 블록은 지연 할당되고, 그렇지 않으면 할당되지 않습니다. 그러나 inline 옵션도 사용되는 경우, 해당 블록을 포함하는 파일이 인라인으로 데이터를 저장할 수 있도록 표시되어 있으면 파일에 유효한 익스텐트 트리가 연결되어 있지 않습니다. 현재 ext4_clu_mapped() 함수의 코드는 존재하지 않는 트리를 검색하여 이전에 할당된 클러스터를 찾으려고 ext4_find_extent()를 호출하는데, 이는 일반적으로 원하는 대로 아무것도 찾지 못합니다. 그러나 이 검색의 부작용으로 인해 존재하지 않는 트리에서 유효하지 않은 콘텐츠(쓰레기 데이터)가 익스텐트 상태 트리에 캐시될 수 있으며, 여기에는 예약 대기 트리의 잘못된 항목도 포함됩니다.
이를 해결하기 위해, 인라인에서 익스텐트 매핑으로 변환 중인 bigalloc + inline 파일에 대해 블록을 할당할 때 익스텐트 트리를 검색하지 않도록 수정했습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.