🔍 CVE-2026-63795

10.0
CVSS Score
CRITICAL
2026-07-19
2026-10-19 20:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 9p 파일 시스템에서 p9_client_walk() 함수 호출 시 오류 경로 처리 미흡으로 인해 발생하는 취약점입니다. 오류 발생 시 oldfid의 참조 횟수를 잘못 감소시켜, 호출자가 여전히 유효하다고 믿는 메모리 영역이 해제되는 Use-After-Free 또는 참조 횟수 언더플로우를 유발할 수 있습니다.

💡 쉬운 설명

파일 시스템을 다루는 과정에서 컴퓨터가 메모리를 관리하는 규칙을 어겨 발생하는 오류입니다. 이로 인해 이미 삭제된 데이터를 다시 사용하려다 시스템이 멈추거나 보안 문제가 생길 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: 9p: avoid putting oldfid in p9_client_walk() error path When p9_client_walk() is called with clone set to false, fid aliases oldfid. If the walk subsequently fails after the request has been sent, the error path jumps to clunk_fid, which currently calls p9_fid_put(fid) unconditionally. This drops a reference to oldfid even though ownership of oldfid remains with the caller. If this is the last reference, oldfid can be clunked and destroyed while the caller still expects it to be valid. A later use or put of oldfid can then trigger a use-after-free or refcount underflow. Fix this by only putting fid in the clunk_fid error path when it does not alias oldfid, matching the existing guard in the error path below. This can be triggered when a multi-component walk is split into multiple p9_client_walk() calls and a later non-cloning walk fails. A reproducer and refcount warning logs are available on request.

📍 영향받는 시스템

9p 파일 시스템을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

멀티 컴포넌트 워크가 분할된 상태에서 후속 non-cloning walk를 실패하게 유도하여 발생

🛡️ 대응 방법

9p 클라이언트의 p9_client_walk() 오류 경로에서 oldfid와 중복되지 않을 때만 fid를 해제하도록 커널 패치 적용

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 보안 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel