🇰🇷 한글 설명
Linux 커널의 NFSD 구성 요소에서 nfs4_file의 액세스 카운트가 중복으로 증가하는 취약점이 발견되었습니다. 이로 인해 nfsd_file 객체가 메모리에서 해제되지 않아, NFS 서버 중지 시 kmem_cache_destroy() 과정에서 커널 버그를 유발할 수 있습니다.
💡 쉬운 설명
NFS 서버가 파일을 사용하는 횟수를 잘못 계산하여, 사용이 끝난 파일 정보를 메모리에서 제대로 지우지 못하는 문제입니다. 이로 인해 서버를 끌 때 시스템 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
NFSD: fix nfs4_file access extra count in nfsd4_add_rdaccess_to_wrdeleg
In nfsd4_add_rdaccess_to_wrdeleg, if fp->fi_fds[O_RDONLY] is already
set by another thread, __nfs4_file_get_access should not be called
to increment the nfs4_file access count since that was already done
by the thread that added READ access to the file. The extra fi_access
count in nfs4_file can prevent the corresponding nfsd_file from being
freed.
When stopping nfs-server service, these extra access counts trigger a
BUG in kmem_cache_destroy() that shows nfsd_file object remaining on
__kmem_cache_shutdown.
This problem can be reproduced by running the Git project's test
suite over NFS.
📍 영향받는 시스템
NFS 서버 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
NFS 서버 환경에서 특정 조건의 파일 액세스 요청을 반복하여 메모리 누수 및 커널 버그 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 배포판의 보안 업데이트 버전인지 확인