🇰🇷 한글 설명
Linux 커널의 ext4 파일 시스템에서 bigalloc과 inline 옵션이 동시에 사용될 때, 지연 할당(delayed allocation) 과정에서 오류가 발생하는 취약점입니다. 이로 인해 잘못된 익스텐트 상태 캐시, 클러스터 수 오류, 커널 메모리 누수 및 커널 패닉이 발생할 수 있습니다.
💡 쉬운 설명
파일을 저장하는 방식 중 특정 설정들이 겹칠 때 컴퓨터의 핵심 시스템인 커널이 혼란을 겪는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 메모리가 낭비되는 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline
When converting files with inline data to extents, delayed allocations
made on a file system created with both the bigalloc and inline options
can result in invalid extent status cache content, incorrect reserved
cluster counts, kernel memory leaks, and potential kernel panics.
With bigalloc, the code that determines whether a block must be
delayed allocated searches the extent tree to see if that block maps
to a previously allocated cluster. If not, the block is delayed
allocated, and otherwise, it isn't. However, if the inline option is
also used, and if the file containing the block is marked as able to
store data inline, there isn't a valid extent tree associated with
the file. The current code in ext4_clu_mapped() calls
ext4_find_extent() to search the non-existent tree for a previously
allocated cluster anyway, which typically finds nothing, as desired.
However, a side effect of the search can be to cache invalid content
from the non-existent tree (garbage) in the extent status tree,
including bogus entries in the pending reservation tree.
To fix this, avoid searching the extent tree when allocating blocks
for bigalloc + inline files that are being converted from inline to
extent mapped.
📍 영향받는 시스템
bigalloc 및 inline 옵션이 활성화된 ext4 파일 시스템을 사용하는 Linux 커널
⚔️ 공격 벡터
특수하게 구성된 파일 시스템 환경에서 파일 데이터가 인라인 방식에서 익스텐트 방식으로 전환될 때 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.