🔍 CVE-2026-89660

9.8
CVSS Score
CRITICAL
2026-09-11
2026-10-19 09:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NFSD에서 관리 상태 취소 중 클라이언트 사용 후 해제(Use-After-Free) 취약점이 발견되었습니다. nfsd4_revoke_states() 함수가 락을 해제하는 과정에서 레이스 컨디션이 발생하여, 클라이언트 객체가 이미 해제된 후에도 참조될 수 있는 문제가 있습니다.

💡 쉬운 설명

네트워크 파일 공유 시스템에서 특정 작업이 처리되는 도중, 사용 중인 데이터가 갑자기 메모리에서 삭제되어 시스템 오류나 보안 문제가 발생할 수 있는 결함입니다. 공격자가 이를 악용하면 시스템 권한을 탈취하거나 강제로 종료시킬 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent client use-after-free during admin state revocation A stateid holds only a bare pointer to its nfs4_client; a stateid reference does not pin it. The client survives only because __destroy_client() drains its stateids before free_client() runs. nfsd4_revoke_states() drops nn->client_lock across revoke_one_stid(), which dereferences the client to revoke a stateid and read clp->cl_minorversion. A teardown racing the dropped lock can free the client first. Pinning cl_rpc_users under client_lock blocks the DESTROY_CLIENTID and EXCHANGE_ID teardown, which refuses while cl_rpc_users is non-zero. force_expire_client() ignores it: once its wait for cl_rpc_users to reach zero has passed, a later pin goes unnoticed. Under client_lock, skip a client whose cl_time is already zero -- force_expire_client() clears it there before waiting -- otherwise pin cl_rpc_users before dropping the lock. The walk then either sees the expiry and skips, or pins in time for that wait to cover the revoke.

📍 영향받는 시스템

Linux Kernel (NFSD 관련 모듈이 포함된 버전)

⚔️ 공격 벡터

NFSv4 클라이언트 상태 취소와 클라이언트 해제 프로세스 간의 레이스 컨디션을 유도하여 메모리 오염 유발

🛡️ 대응 방법

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