🇰🇷 한글 설명
Linux 커널의 NFSD에서 NFSv4.0의 취소된 상태 정리 과정 중 Use-After-Free 취약점이 발견되었습니다. 특정 조건에서 클라이언트 잠금이 해제된 후 클라이언트 객체가 해제되어 메모리 오류가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 이미 삭제된 데이터를 다시 사용하려고 시도할 때 발생하는 오류입니다. 이로 인해 시스템이 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
NFSD: Prevent client use-after-free during NFSv4.0 revoked-state cleanup
nfs40_clean_admin_revoked() takes a stateid reference under
clp->cl_lock, drops nn->client_lock, and calls
nfsd4_drop_revoked_stid(), which dereferences the stateid's client
through s->sc_client->cl_lock. The stateid reference does not pin the
client, so a teardown racing the dropped lock can free the client
while nfsd4_drop_revoked_stid() is still using it.
This cleanup runs from the laundromat, so a periodic sweep can race
force_expire_client() driven by a write to the clients/<id>/ctl file.
Skip a client that is already expiring and otherwise pin it with
cl_rpc_users under client_lock before dropping the lock, matching
nfsd4_revoke_states().
📍 영향받는 시스템
NFSv4.0을 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
NFS 클라이언트 상태 정리 프로세스와 클라이언트 강제 만료 프로세스 간의 레이스 컨디션 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.