🇰🇷 한글 설명
Linux kernel nfsd (Network File System Daemon)의 credential reference leak 취약점으로, nfsd_nl_listener_set_doit() 함수에서 get_current_cred()로 획득한 인증 정보에 대한 참조 카운트가 적절히 해제되지 않습니다. 이는 메모리 누수로 이어지며, 커널의 인증 정보 관리 체계에 영향을 미칩니다.
💡 쉬운 설명
Linux 커널의 파일 공유 시스템(NFS)에서 사용자 권한 정보를 정리하지 않아 메모리가 계속 차지하는 문제입니다. 이를 수정하려면 권한 정보 획득 방식을 바꿔서 자동으로 정리되도록 해야 합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nfsd: Fix cred ref leak in nfsd_nl_listener_set_doit().
nfsd_nl_listener_set_doit() uses get_current_cred() without
put_cred().
As we can see from other callers, svc_xprt_create_from_sa()
does not require the extra refcount.
nfsd_nl_listener_set_doit() is always in the process context,
sendmsg(), and current->cred does not go away.
Let's use current_cred() in nfsd_nl_listener_set_doit().
📍 영향받는 시스템
Linux kernel nfsd 모듈을 사용하는 NFS 서버 (특정 버전 미지정, 일반적으로 최신 몇 개 버전)
⚔️ 공격 벡터
로컬 공격자가 NFS 리스너 설정 관련 netlink 명령을 반복 호출하여 메모리 누수 유발
🛡️ 대응 방법
Linux kernel을 최신 버전으로 업데이트하여 nfsd_nl_listener_set_doit() 함수의 credential 관리 로직 수정 적용
🔧 검증 코드
현재 커널 버전을 확인하고, 수정된 버전(일반적으로 해당 series의 최신 stable)으로 업데이트되었는지 확인하면 됩니다.
uname -r && grep -i 'nfsd_nl_listener_set_doit' /boot/config-$(uname -r) 2>/dev/null || echo 'Check kernel source for fix'