🔍 CVE-2026-28291

8.1
CVSS Score
HIGH
2026-04-13
2026-10-26 22:10
✅ 완료

🇰🇷 한글 설명

simple-git 라이브러리의 Git 옵션 필터링이 불완전하여 -vu, -4u, -nu 등 다양한 옵션 조합으로 -u, --upload-pack 같은 위험한 옵션을 우회 가능합니다. CVE-2022-25860의 불완전한 수정으로 인해 정규식 기반 블랙리스트를 쉽게 우회할 수 있으며, Git의 무한한 옵션 조합 때문에 근본적인 해결이 어렵습니다. 3.32.0 버전에서 수정되었습니다.

💡 쉬운 설명

JavaScript에서 Git 명령을 실행하는 simple-git 라이브러리가 보안 검사를 우회하는 특수 옵션 조합을 허용합니다. 버전 3.32.0 이상으로 업데이트하면 문제가 해결됩니다.

🇺🇸 원문 (English)

simple-git enables running native Git commands from JavaScript. Versions up to and including 3.31.1 allow execution of arbitrary commands through Git option manipulation, bypassing safety checks meant to block dangerous options like -u and --upload-pack. The flaw stems from an incomplete fix for CVE-2022-25860, as Git's flexible option parsing allows numerous character combinations (e.g., -vu, -4u, -nu) to circumvent the regular-expression-based blocklist in the unsafe operations plugin. Due to the virtually infinite number of valid option variants that Git accepts, a complete blocklist-based mitigation may be infeasible without fully emulating Git's option parsing behavior. This issue has been fixed in version 3.32.0.

📍 영향받는 시스템

simple-git 버전 3.31.1 이하를 사용하는 Node.js 애플리케이션

⚔️ 공격 벡터

사용자 입력을 통해 Git 옵션에 특수 문자 조합(-vu, -4u, -nu 등)을 주입하여 금지된 옵션 실행

🛡️ 대응 방법

simple-git을 npm update simple-git을 통해 3.32.0 이상으로 업그레이드

🔧 검증 코드

버전이 3.32.0 이상이면 안전, 3.31.1 이하면 즉시 업그레이드 필요

Shell / Script
npm list simple-git 2>/dev/null | grep simple-git | awk '{print $2}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git