🔍 CVE-2026-45570

9.6
CVSS Score
CRITICAL
2026-05-27
2026-06-04 18:00
✅ 완료

🇰🇷 한글 설명

go-git 라이브러리의 SSH 전송 계층에서 원격 실행 명령어를 생성할 때 저장소 경로를 작은따옴표로 감싸지만, 경로 내부에 포함된 작은따옴표를 적절히 이스케이프 처리하지 않는 취약점입니다. 이로 인해 공격자가 경로에 특수 문자를 삽입하여 쿼테이션을 탈출하고 임의의 쉘 명령어를 실행할 수 있습니다. 해당 문제는 5.19.1 및 6.0.0-alpha.4 버전에서 수정되었습니다.

💡 쉬운 설명

프로그램이 파일 경로를 처리할 때 특수 기호를 제대로 걸러내지 못해 발생하는 보안 구멍입니다. 공격자가 파일 이름에 악성 명령어를 섞어 넣으면 컴퓨터가 이를 명령으로 오해하고 실행할 수 있습니다.

🇺🇸 원문 (English)

go-git is an extensible git implementation library written in pure Go. Prior to 5.19.1 and 6.0.0-alpha.4, go-git's SSH transport constructs the remote exec command by wrapping the repository path in single quotes without escaping single quotes embedded inside the path. A repository path containing a single quote can therefore break out of the quoted region in the exec command and be appended as additional shell tokens. This vulnerability is fixed in 5.19.1 and 6.0.0-alpha.4.

📍 영향받는 시스템

go-git versions prior to 5.19.1 and 6.0.0-alpha.4

⚔️ 공격 벡터

조작된 작은따옴표가 포함된 저장소 경로를 통해 SSH 원격 명령 실행 시 쉘 인젝션 공격 수행

🛡️ 대응 방법

go-git 라이브러리를 5.19.1 또는 6.0.0-alpha.4 이상의 버전으로 업데이트

🔧 검증 코드

출력된 go-git의 버전이 5.19.1 또는 6.0.0-alpha.4보다 낮은지 확인

Shell / Script
go list -m all | grep go-git

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git