🔍 CVE-2026-46406

6.1
CVSS Score
MEDIUM
2026-06-29
2026-10-25 21:10
✅ 완료

🇰🇷 한글 설명

Claude Code 2.1.59부터 2.1.128 이전 버전의 /copy 명령은 응답을 고정되고 예측 가능한 경로(/tmp/claude/response.md)에 UID 격리, 난수화, 심볼릭 링크 보호 없이 기록했습니다. 파일은 world-readable(0644)로, 디렉터리는 world-traversable(0755)로 생성되어 로컬 사용자가 권한 있는 사용자의 응답을 읽거나, 심볼릭 링크를 심어 임의 파일을 덮어쓸 수 있었습니다. 2.1.128에서 수정되었습니다.

💡 쉬운 설명

같은 컴퓨터를 쓰는 다른 사용자가 Claude Code의 /copy 명령으로 저장된 응답 내용을 몰래 볼 수 있었습니다. 공격자가 미리 링크를 설정하면 시스템 파일까지 덮어쓰일 수 있습니다.

🇺🇸 원문 (English)

Claude Code is an agentic coding tool. From 2.1.59 until 2.1.128, the Claude Code /copy command wrote responses to a hardcoded, predictable path (/tmp/claude/response.md) without UID isolation, randomness, or symlink protection. The file was created world-readable (0644) in a world-traversable directory (0755), allowing any local user to read a privileged user's Claude response, which could contain secrets or credentials. Additionally, because the path was static and predictable, a local attacker could pre-create the directory and plant a symlink at the expected file path, causing the privileged process to follow the symlink and overwrite an attacker-chosen file with the response text. Exploiting this required a local unprivileged user on the same system and a privileged user to run the /copy command. This vulnerability is fixed in 2.1.128.

📍 영향받는 시스템

Claude Code 2.1.59 이상 2.1.128 미만 버전 (2.1.128에서 수정)

⚔️ 공격 벡터

같은 시스템의 비특권 로컬 사용자가 /tmp/claude/ 디렉터리를 미리 만들고 response.md 경로에 심볼릭 링크를 심은 뒤, 권한 있는 사용자가 /copy를 실행하도록 유도

🛡️ 대응 방법

Claude Code를 2.1.128 이상으로 업그레이드하고, 이전에 생성된 /tmp/claude/response.md 파일과 디렉터리를 점검 후 삭제

🔧 검증 코드

출력된 버전이 2.1.128 이상이면 수정된 버전이며, 2.1.128 미만이면 업그레이드가 필요합니다.

Shell / Script
claude --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Claude Code