🔍 CVE-2026-89659

9.8
CVSS Score
CRITICAL
2026-09-11
2026-10-21 13:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NFSD에서 위임 취소(delegation revoke) 과정 중 Use-After-Free 취약점이 발견되었습니다. nfs4_laundromat() 함수가 위임을 처리하는 과정에서 클라이언트 객체의 참조 횟수를 적절히 유지하지 않아, 클라이언트가 해제된 후에도 메모리에 접근을 시도할 수 있습니다.

💡 쉬운 설명

컴퓨터가 사용 중인 데이터를 정리하는 과정에서, 이미 삭제된 데이터의 주소를 다시 참조하여 발생하는 오류입니다. 이로 인해 시스템이 충돌하거나 보안상 위험한 상태가 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent client use-after-free during delegation revoke A delegation stateid holds only a bare pointer to its owning nfs4_client and does not keep it alive. The client survives its stateids only because __destroy_client() drains cl_delegations and cl_revoked before free_client() runs. nfs4_laundromat() breaks that invariant: it unhashes an expired delegation from cl_delegations, drops deleg_lock, then revoke_delegation() relinks it onto cl_revoked under cl_lock. In that window the delegation is on neither list, so client_has_state() can report no remaining state. Every teardown path first requires cl_rpc_users to be zero, but the laundromat holds no such reference. A client whose recalled delegation has just timed out can therefore reach free_client() while revoke_delegation() is still about to dereference cl_lock, a use-after-free. Pin the client with cl_rpc_users across the revoke so teardown blocks until it completes, then reap the delegation from cl_revoked. A client already expiring reaps its own, so skip it and leave the delegation on del_recall_lru.

📍 영향받는 시스템

Linux Kernel (NFSD 구성 요소 포함 버전)

⚔️ 공격 벡터

만료된 NFS4 위임을 유도하여 클라이언트 객체가 해제된 후 메모리 참조를 일으키는 방식

🛡️ 대응 방법

해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 보안 업데이트 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel