🇰🇷 한글 설명
Node.js 애플리케이션에서 Git 명령을 실행하는 simple-git 4.0.0 미만 버전에서 발생하는 보안 취약점입니다. 공격자가 Git의 옵션 약어 기능을 악용하여 보안 플러그인의 검사를 우회하고, 임의의 명령을 실행하거나 원격 저장소에 악성 명령을 전달할 수 있습니다.
💡 쉬운 설명
Git 명령어를 줄여서 쓸 수 있는 기능을 이용해 보안 검사를 속이는 공격입니다. 이를 통해 해커가 사용자의 컴퓨터에서 원하지 않는 명령을 몰래 실행할 수 있습니다.
🇺🇸 원문 (English)
simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 4.0.0, the default blockUnsafeOperationsPlugin compares parsed option names with literal dangerous option spellings while Git accepts unambiguous long-option abbreviations. Attacker-influenced push arguments such as abbreviated --receive-pack or --exec forms can therefore bypass detectVulnerableFlags, reach git push against a local or file remote or an attacker-influenced receive-pack target, and cause Git to invoke an attacker-selected command in consumers that expose those arguments. The clone-side abbreviation handling does not protect the push path. This issue is fixed in 4.0.0.
📍 영향받는 시스템
simple-git versions prior to 4.0.0
⚔️ 공격 벡터
Git 옵션의 약어(abbreviation)를 이용한 보안 필터링 우회 및 임의 명령 실행
🛡️ 대응 방법
simple-git 라이브러리를 4.0.0 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 simple-git의 버전이 4.0.0 미만인지 확인하십시오.