CVE-2026-31452 in Linux정보

요약

\~에 의해 VulDB • 2026. 05. 28.

리눅스 커널에서 다음 취약점이 해결되었습니다:

ext4: 트렁크 연산이 인라인 크기를 초과할 때 인라인 데이터를 익스텐트로 변환

truncate()가 파일 크기를 인라인 용량보다 크게 확장할 때, ext4_setattr() 내에서 인라인 데이터 저장소에서 익스텐트 기반 저장소로 파일을 변환하는 확인 절차를 추가합니다. 이를 통해 인라인 데이터 플래그가 설정되어 있지만 파일 크기가 인라인으로 저장할 수 있는 용량을 초과하는 일관성 없는 파일시스템 상태로 진입하는 것을 방지합니다.

이 수정 사항이 없으면 다음 시퀀스가 커널 BUG_ON()을 유발합니다:

1. 인라인 플래그가 설정되고 크기가 작은 인노드를 포함하여 파일시스템 마운트 2. truncate(file, 50MB) 수행 - 크기가 증가하지만 인라인 플래그는 설정된 상태로 유지 3. sendfile()이 데이터 쓰기 시도 4. ext4_write_inline_data()가 BUG_ON(write_size > inline_capacity) 조건에 도달

크래시는 ext4_write_inline_data()가 인라인 저장소에 쓰기를 수용할 것으로 기대하지만, 실제 인라인 용량(i_block당 약 60바이트, xattrs당 약 96바이트)이 파일 크기와 쓰기 요청보다 훨씬 작기 때문에 발생합니다.

해당 수정 사항은 setattr에서 반환된 새 크기가 인노드의 실제 인라인 용량(EXT4_I(inode)->i_inline_size)을 초과하는지 확인하고, 크기 변경을 진행하기 전에 파일을 익스텐트 기반 저장소로 변환합니다.

이를 통해 트렁크 연산 중 인라인 데이터 플래그와 파일 크기가 일관되게 유지되도록 하여 근본 원인을 해결합니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!