🇰🇷 한글 설명
Linux 커널 gfs2 파일시스템의 fiemap 기능에서 버그가 수정되었습니다. gfs2_fiemap()이 inode glock을 보유한 상태에서 iomap_fiemap()을 호출하여, fiemap 버퍼가 같은 inode에 메모리 매핑되어 있고 접근 시 페이지 폴트가 발생하면 glock 재귀 획득이 일어날 수 있었습니다. 수정으로 iomap_fiemap() 동안 페이지 폴트를 비활성화하고 필요 시 버퍼를 직접 폴트 처리합니다.
💡 쉬운 설명
리눅스 파일시스템(GFS2)의 파일 정보 조회 기능에 잠금이 꼬이는 결함이 있었습니다. 이를 고쳐서 시스템이 멈추거나 비정상 동작하는 상황을 막습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
gfs2: fiemap page fault fix
In gfs2_fiemap(), we are calling iomap_fiemap() while holding the inode
glock. This can lead to recursive glock taking if the fiemap buffer is
memory mapped to the same inode and accessing it triggers a page fault.
Fix by disabling page faults for iomap_fiemap() and faulting in the
buffer by hand if necessary.
Fixes xfstest generic/742.
📍 영향받는 시스템
GFS2 파일시스템을 사용하는 수정 이전 Linux 커널 버전 (CVE 기재 기준 해당 커널 패치 적용 전 전체)
⚔️ 공격 벡터
로컬 사용자가 GFS2 파일시스템의 파일에 대해 fiemap 호출 시 같은 inode에 매핑된 버퍼를 지정하여 glock 재귀 획득을 유발, 서비스 거부(교착 상태)를 일으킬 수 있음
🛡️ 대응 방법
배포판 공급사가 제공하는 최신 커널 업데이트를 적용하고 재부팅하세요.
🔧 검증 코드
커널 버전이 배포판의 보안 업데이트 적용본인지 확인하고, gfs2 모듈이 로드되지 않았다면 이 취약점의 영향을 받지 않습니다.
uname -r && (lsmod | grep -w gfs2 || echo 'gfs2 module not loaded')