🇰🇷 한글 설명
Linux 커널의 EROFS 파일 시스템에서 짧은 읽기(short read) 발생 시 BIO 내의 사용되지 않은 folio가 예기치 않게 uptodate로 표시되는 취약점입니다. SIGKILL 신호로 인해 IO 요청이 중단될 경우 데이터 무결성 문제가 발생할 수 있으며, 이를 해결하기 위해 짧은 읽기 발생 시 BIO에 직접 에러를 설정하도록 패치되었습니다.
💡 쉬운 설명
파일을 읽는 도중 강제로 중단되었을 때, 읽지 않은 데이터 영역을 마치 읽은 것처럼 잘못 표시하는 오류입니다. 이로 인해 데이터가 깨지거나 잘못된 정보가 메모리에 올라갈 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
erofs: set fileio bio failed in short read case
For file-backed mount, IO requests are handled by vfs_iocb_iter_read().
However, it can be interrupted by SIGKILL, returning the number of
bytes actually copied. Unused folios in bio are unexpectedly marked
as uptodate.
vfs_read
filemap_read
filemap_get_pages
filemap_readahead
erofs_fileio_readahead
erofs_fileio_rq_submit
vfs_iocb_iter_read
filemap_read
filemap_get_pages <= detect signal
erofs_fileio_ki_complete <= set all folios uptodate
This patch addresses this by setting short read bio with an error
directly.
📍 영향받는 시스템
Linux kernel (EROFS 파일 시스템을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 SIGKILL 신호를 사용하여 IO 프로세스를 중단시킴으로써 데이터 무결성 오류 유도
🛡️ 대응 방법
EROFS 관련 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 배포판의 보안 업데이트 버전인지 확인