🔍 CVE-2025-61584

0.0
CVSS Score
UNKNOWN
2025-09-30
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

serverless-dns의 pr.yml GitHub Action이 신뢰되지 않은 입력값(pull_request.head.repo.clone_url, head_ref)을 명령어에 안전하지 않게 삽입하여 발생하는 취약점입니다. pull_request_target 트리거의 허용적인 기본 권한으로 인해 인증되지 않은 공격자가 저장소에 임의의 데이터를 푸시할 수 있으며, 사용자가 serverless-dns를 실행할 때 공격자 코드가 실행될 수 있습니다.

💡 쉬운 설명

GitHub Actions 자동화 스크립트가 Pull Request 입력값을 검증 없이 사용하여 악의적인 코드 주입이 가능합니다. 공격자가 이를 악용하면 저장소에 악성 코드를 삽입하고 사용자가 소프트웨어를 실행할 때 그 코드가 실행될 수 있습니다.

🇺🇸 원문 (English)

serverless-dns is a RethinkDNS resolver that deploys to Cloudflare Workers, Deno Deploy, Fastly, and Fly.io. Versions through abd including 0.1.30 have a vulnerability where the pr.yml GitHub Action interpolates in an unsafe manner untrusted input, specifically the github.event.pull_request.head.repo.clone_url and github.head_ref, to a command in the runner. Due to the action using the pull_request_target trigger it has permissive permissions by default. An unauthorized attacker can exploit this vulnerability to push arbitrary data to the repository. The subsequent impact on the end-user is executing the attackers' code when running serverless-dns. This is fixed in commit c5537dd, and expected to be released in 0.1.31.

📍 영향받는 시스템

serverless-dns 0.1.30 이하 (모든 배포 플랫폼: Cloudflare Workers, Deno Deploy, Fastly, Fly.io)

⚔️ 공격 벡터

pull_request_target 트리거를 이용한 악의적인 Pull Request 생성 후 github.event.pull_request.head.repo.clone_url이나 github.head_ref에 악성 페이로드 주입

🛡️ 대응 방법

버전 0.1.31 이상으로 업그레이드 또는 pr.yml에서 입력값 검증 및 안전한 이스케이프 처리 구현

🔧 검증 코드

fix commit c5537dd가 로그에 있으면 'Patched' 출력, 없으면 'Check Version' 출력 (버전 0.1.31 이상 확인 필요)

Shell / Script
git log --oneline --all 2>/dev/null | grep -q 'c5537dd' && echo 'Patched' || echo 'Check Version'

💻 영향받는 소프트웨어

Git