🇰🇷 한글 설명
Linux 커널의 ext4 파일 시스템에서 ext4_end_io_rsv_work() 함수 호출 시 inode의 Use-After-Free(UAF) 취약점이 발견되었습니다. 이는 불필요한 워커 프로세스 시작과 비정상적인 리스트 추가를 방지하기 위한 로직 수정 및 긴급 상태 체크를 통해 해결되었습니다.
💡 쉬운 설명
파일을 저장하고 처리하는 과정에서 이미 삭제된 데이터 정보를 다시 사용하려고 시도하여 시스템 오류를 일으킬 수 있는 문제입니다. 이 문제가 해결되지 않으면 시스템이 불안정해지거나 보안 공격에 이용될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix inode use after free in ext4_end_io_rsv_work()
In ext4_io_end_defer_completion(), check if io_end->list_vec is empty to
avoid adding an io_end that requires no conversion to the
i_rsv_conversion_list, which in turn prevents starting an unnecessary
worker. An ext4_emergency_state() check is also added to avoid attempting
to abort the journal in an emergency state.
Additionally, ext4_put_io_end_defer() is refactored to call
ext4_io_end_defer_completion() directly instead of being open-coded.
This also prevents starting an unnecessary worker when EXT4_IO_END_FAILED
is set but data_err=abort is not enabled.
This ensures that the check in ext4_put_io_end_defer() is consistent with
the check in ext4_end_bio(). Otherwise, we might add an io_end to the
i_rsv_conversion_list and then call ext4_finish_bio(), after which the
inode could be freed before ext4_end_io_rsv_work() is called, triggering
a use-after-free issue.
📍 영향받는 시스템
ext4 파일 시스템을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특정 파일 입출력(I/O) 작업 시퀀스를 유도하여 메모리 해제 후 참조(Use-After-Free)를 발생시킴
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인