🇰🇷 한글 설명
Linux 커널의 nfsd 구성 요소에서 nfsd4_create_file() 함수 호출 시 잘못된 dentry가 fh_compose될 수 있는 취약점이 발견되었습니다. dentry_create() 과정에서 예상치 못한 dentry가 반환될 경우, 기존에 저장된 dentry가 해제된 후 다시 참조되어 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
파일을 생성하는 과정에서 시스템이 엉뚱한 파일 정보를 참조하게 되어 프로그램이 충돌하거나 보안 문제가 생길 수 있는 오류입니다. 파일의 위치를 확인하는 절차를 강화하여 잘못된 정보를 사용하는 것을 방지해야 합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nfsd: fix possible fh_compose of wrong dentry in nfsd4_create_file()
dentry_create() can hypothetically provide a different dentry than the
one passed in. This could happen, for example, if the exported
filesystem is NFS, and the server returned to OPEN a filehandle which
matched a directory that was already in the dcache. Clearly this would
not be expected!
If this were to happen the dentry (child) that was already stored in
resfhp could be freed and later dereferenced.
We shouldn't call fh_compose() until we are certain that we have the
final dentry, so this patch moved the fh_compose() call to two places:
one for the case where the target already exists, and one after
dentry_create() where it was created.
📍 영향받는 시스템
Linux Kernel (nfsd 모듈을 사용하는 시스템)
⚔️ 공격 벡터
NFS 서버를 통해 조작된 파일 핸들을 전달하여 메모리 오류를 유발하는 방식
🛡️ 대응 방법
nfsd 관련 패치가 적용된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인