🔍 CVE-2026-89715

0.0
CVSS Score
UNKNOWN
2026-09-11
2026-10-19 09:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NFS/localio 구성 요소에서 nfs_uuid_add_file 실패 시 참조 카운트 누수가 발생하는 취약점입니다. 이 오류로 인해 nfsd_file 및 nfsd_net 참조가 해제되지 않아 시스템 자원이 고갈되고 네트워크 네임스페이스 해제를 방해할 수 있습니다.

💡 쉬운 설명

프로그램이 작업을 수행하다 실패했을 때 사용하던 메모리나 자원을 제대로 돌려주지 않고 버리는 현상입니다. 이 문제가 반복되면 컴퓨터의 중요한 자원이 계속 쌓여 결국 시스템이 느려지거나 정상적으로 종료되지 않을 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: NFS/localio: fix ref leak on nfs_uuid_add_file failure When nfs_uuid_add_file() races with nfs_uuid_put() tearing down uuid->net, it returns -ENXIO without publishing nfl->nfs_uuid via rcu_assign_pointer(). nfs_open_local_fh() then enters its error branch and only releases the slot's file ref and its paired net ref plus its own entry-time net ref, while the close path is a no-op: nfs_close_local_fh() nfs_uuid = rcu_dereference(nfl->nfs_uuid); if (!nfs_uuid) { rcu_read_unlock(); return; } /* always */ nfsd_open_local_fh() returns localio holding a caller-owned +1 nfsd_file reference (from nfsd_file_get() after nfsd_file_acquire_local()) and an entry-time nfsd_net reference (from its first nfsd_net_try_get()) embedded as nf->nf_net. Both are leaked on the failure path, pinning one nfsd_file (and the underlying struct file, dentry, inode) and one nfsd_net_ref per occurrence, which blocks nfsd_net and netns teardown. Fix by releasing the caller-owned file ref and its net ref through the existing helper, using a stack-local RCU pointer so the helper can xchg it out, then returning -ENXIO so callers do not dereference a localio whose slot has been cleared: struct nfsd_file __rcu *tmp = RCU_INITIALIZER(localio); nfs_to_nfsd_file_put_local(pnf); nfs_to_nfsd_file_put_local(&tmp); localio = ERR_PTR(-ENXIO); The trailing nfs_to_nfsd_net_put(net) continues to release the outer net ref, so all three nfsd_net_try_get() increments are balanced on the error branch.

📍 영향받는 시스템

Linux Kernel (NFS/localio 관련 모듈 사용 버전)

⚔️ 공격 벡터

특정 조건에서 NFS localio 관련 함수 호출을 유도하여 참조 누수를 반복적으로 발생시킴

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel