🔍 CVE-2020-26222

8.7
CVSS Score
HIGH
2020-11-13
2026-06-17 03:07
✅ 완료

🇰🇷 한글 설명

Dependabot-Core의 특정 버전에서 소스 브랜치 이름에 악성 Bash 코드가 포함될 경우 원격 코드 실행(RCE)이 가능한 취약점이 발견되었습니다. 공격자가 조작된 브랜치 이름을 사용하면 Dependabot이 저장소를 클론하는 과정에서 임의의 명령어를 실행할 수 있습니다. 이 문제는 버전 0.125.1에서 수정되었습니다.

💡 쉬운 설명

프로그램이 브랜치 이름을 읽을 때 그 안에 숨겨진 나쁜 명령어를 실행해버리는 보안 구멍이 발견되었습니다. 공격자가 이름에 특수 코드를 섞어 넣으면 해커가 내 컴퓨터에서 마음대로 명령을 내릴 수 있습니다.

🇺🇸 원문 (English)

Dependabot is a set of packages for automated dependency management for Ruby, JavaScript, Python, PHP, Elixir, Rust, Java, .NET, Elm and Go. In Dependabot-Core from version 0.119.0.beta1 before version 0.125.1, there is a remote code execution vulnerability in dependabot-common and dependabot-go_modules when a source branch name contains malicious injectable bash code. For example, if Dependabot is configured to use the following source branch name: "/$({curl,127.0.0.1})", Dependabot will make a HTTP request to the following URL: 127.0.0.1 when cloning the source repository. The fix was applied to version 0.125.1. As a workaround, one can escape the branch name prior to passing it to the Dependabot::Source class.

📍 영향받는 시스템

Dependabot-Core 0.119.0.beta1 미만 0.125.1 미만 버전 (dependabot-common 및 dependabot-go_modules 포함)

⚔️ 공격 벡터

악성 Bash 코드가 삽입된 소스 브랜치 이름을 사용하여 저장소 클론 유도

🛡️ 대응 방법

Dependabot-Core를 0.125.1 이상의 버전으로 업데이트하거나 브랜치 이름을 이스케이프 처리함

🔧 검증 코드

출력된 버전 번호가 0.125.1보다 낮은지 확인하여 취약 여부를 판단합니다.

Shell / Script
gem list dependabot-core 2>/dev/null | grep -E 'dependabot-core' | awk '{print $2}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

.NET