🇰🇷 한글 설명
Linux 커널의 fs/ntfs3 모듈에서 새 inode 생성 중 메모리 할당이 실패하면 mi->mrec이 NULL로 설정되는데, 이후 ni_write_inode 함수가 이를 확인 없이 역참조하여 NULL 포인터 역참조가 발생합니다. 커널에 NULL 검사를 추가하여 해결되었습니다.
💡 쉬운 설명
메모리가 부족한 상황에서 새 파일을 만들다 실패하면, 프로그램이 비어 있는 주소를 읽으려다 멈출 수 있습니다. 이 문제는 시스템 충돌이나 서비스 중단을 일으킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fs/ntfs3: Fix NULL dereference in ni_write_inode
Syzbot reports a NULL dereference in ni_write_inode.
When creating a new inode, if allocation fails in mi_init function
(called in mi_format_new function), mi->mrec is set to NULL.
In the error path of this inode creation, mi->mrec is later
dereferenced in ni_write_inode.
Add a NULL check to prevent NULL dereference.
📍 영향받는 시스템
NTFS3 파일시스템 드라이버를 포함한 Linux 커널 (수정 커밋 적용 이전 버전)
⚔️ 공격 벡터
메모리 할당 실패 상황을 유발할 수 있는 로컬 사용자가 NTFS3 마운트 환경에서 파일 생성을 반복하여 커널 패닉(서비스 거부)을 유발할 수 있습니다.
🛡️ 대응 방법
패치된 Linux 커널 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용하세요.
🔧 검증 코드
출력된 커널 버전이 배포판의 패치된 버전 이상인지 확인하고, ntfs3 모듈이 로드되지 않았다면 이 취약점의 영향을 받지 않습니다.
uname -r && (lsmod | grep ntfs3 || echo 'ntfs3 module not loaded')