🔍 CVE-2022-50241

8.8
CVSS Score
HIGH
2025-09-15
2026-10-15 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NFSD에서 서버 간 복사(inter-server copy) 수행 시 Use-After-Free 취약점이 발견되었습니다. CLOSE 요청이 FREE_STATEID 요청보다 먼저 도착할 경우, 이미 해제된 메모리 영역에 접근하여 오류가 발생할 수 있습니다.

💡 쉬운 설명

데이터를 복사하는 과정에서 컴퓨터가 이미 사용이 끝난 메모리 공간을 다시 사용하려고 시도할 때 발생하는 문제입니다. 이로 인해 시스템이 충돌하거나 보안 문제가 생길 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: NFSD: fix use-after-free on source server when doing inter-server copy Use-after-free occurred when the laundromat tried to free expired cpntf_state entry on the s2s_cp_stateids list after inter-server copy completed. The sc_cp_list that the expired copy state was inserted on was already freed. When COPY completes, the Linux client normally sends LOCKU(lock_state x), FREE_STATEID(lock_state x) and CLOSE(open_state y) to the source server. The nfs4_put_stid call from nfsd4_free_stateid cleans up the copy state from the s2s_cp_stateids list before freeing the lock state's stid. However, sometimes the CLOSE was sent before the FREE_STATEID request. When this happens, the nfsd4_close_open_stateid call from nfsd4_close frees all lock states on its st_locks list without cleaning up the copy state on the sc_cp_list list. When the time the FREE_STATEID arrives the server returns BAD_STATEID since the lock state was freed. This causes the use-after-free error to occur when the laundromat tries to free the expired cpntf_state. This patch adds a call to nfs4_free_cpntf_statelist in nfsd4_close_open_stateid to clean up the copy state before calling free_ol_stateid_reaplist to free the lock state's stid on the reaplist.

📍 영향받는 시스템

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

⚔️ 공격 벡터

조작된 NFS4 프로토콜 요청(CLOSE를 FREE_STATEID보다 먼저 전송)을 통한 원격 공격 가능

🛡️ 대응 방법

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

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel