🇰🇷 한글 설명
Linux 커널의 NILFS2 파일 시스템에서 nilfs_clean_segments() 함수가 무한 루프에 빠지는 취약점이 발견되었습니다. I/O 오류 발생 후 장치가 읽기 전용(read-only)으로 재마운트될 경우, 특정 오류를 처리하지 못하고 프로세스가 멈추는 현상이 발생합니다.
💡 쉬운 설명
컴퓨터의 파일 저장 시스템에서 오류가 발생했을 때, 시스템이 이를 제대로 처리하지 못하고 계속 같은 작업을 반복하며 멈춰버리는 문제입니다. 이로 인해 시스템이 응답하지 않는 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix infinite loop in nilfs_clean_segments()
syzbot reported a hung task in nilfs_transaction_begin(). This occurs
because the cleaner ioctl falls into an infinite loop if
nilfs_segctor_construct() repeatedly returns -EROFS (e.g. the device
is remounted as read-only after an I/O error).
Currently in nilfs_clean_segments(), if err is non-zero, it logs the
error and sleeps but doesn't abort when it encounters a terminal error
like -EROFS. This causes the thread to loop forever.
Fix this by breaking out of the loop if nilfs_segctor_construct()
returns -EROFS. This matches the behaviour in
nilfs_segctor_write_out(), which also handles -EROFS.
📍 영향받는 시스템
NILFS2 파일 시스템을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 공격자가 I/O 오류를 유도하여 장치를 읽기 전용으로 재마운트함으로써 시스템 중단(DoS) 유발 가능
🛡️ 대응 방법
NILFS2 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전 이상인지 확인