🔍 CVE-2026-118762

9.3
CVSS Score
CRITICAL
2026-10-29
2026-10-29 17:18
✅ 완료

🇰🇷 한글 설명

Monkeytype은 미니멀하고 커스터마이징 가능한 타이핑 테스트 도구입니다. 26.43.0 이전 버전에서는 pull_request_target으로 실행되는 fix-formatting.yml 워크플로우가 포크된 PR의 코드를 저장소 쓰기 권한을 가진 상태로 실행하여, 외부 기여자가 임의 코드를 실행하고 GITHUB_TOKEN을 탈취하거나 저장소 내용을 변경할 수 있습니다. 이 문제는 저장소 CI 워크플로우에 해당하며, Monkeytype 애플리케이션이나 사용자 데이터에는 영향을 주지 않습니다. 26.43.0 버전에서 수정되었습니다.

💡 쉬운 설명

외부 사용자가 프로젝트의 자동화 시스템을 조작해 저장소 접근 권한을 얻을 수 있는 취약점입니다. 이 문제는 서비스 사용자 정보가 아닌 프로젝트 개발 환경에 대한 위험입니다.

🇺🇸 원문 (English)

Monkeytype is a minimalistic and customizable typing test. Prior to 26.43.0, the .github/workflows/fix-formatting.yml workflow runs on pull_request_target with repository write permissions, checks out a fork pull request, installs dependencies from the fork's package.json, and invokes the fork-controlled oxfmt binary. Because actions/checkout persists the elevated GITHUB_TOKEN in Git configuration until after untrusted code executes, an external contributor whose pull request receives the format label can run arbitrary code, read or exfiltrate the token, and push repository content or modify pull requests and issues. The issue affects the repository CI workflow, not the Monkeytype application or user data. This issue is fixed in version 26.43.0.

📍 영향받는 시스템

Monkeytype 저장소의 GitHub Actions CI 워크플로우 (fix-formatting.yml), 26.43.0 이전 버전

⚔️ 공격 벡터

포크한 PR에 format 라벨이 붙으면 악성 package.json이나 oxfmt 바이너리를 통해 임의 코드를 실행하고 GITHUB_TOKEN을 탈취

🛡️ 대응 방법

Monkeytype을 26.43.0 이상으로 업데이트하거나 해당 워크플로우의 pull_request_target 사용과 checkout 설정을 수정

🔧 검증 코드

출력된 버전이 26.43.0 이상이면 수정된 버전이며, 그보다 낮으면 취약할 수 있으므로 업데이트가 필요합니다.

Shell / Script
grep -E 'version|26\.43' package.json 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git