🔍 CVE-2026-27113

6.3
CVSS Score
MEDIUM
2026-02-20
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

Liquid Prompt의 깃 브랜치 이름에 포함된 쉘 메타문자가 프롬프트 렌더링 시 실행되는 명령 주입 취약점입니다. LP_ENABLE_GITSTATUSD 옵션이 기본값으로 활성화되어 있고 gitstatusd가 실행 중일 때 공격자가 임의의 명령을 실행할 수 있습니다.

💡 쉬운 설명

깃 저장소의 브랜치 이름에 쉘 명령어를 숨겨두면, 터미널이 그 명령을 자동으로 실행하는 문제입니다. Liquid Prompt 사용자가 악의적인 저장소에 진입하면 공격자가 원격으로 명령을 실행할 수 있습니다.

🇺🇸 원문 (English)

Liquid Prompt is an adaptive prompt for Bash and Zsh. Starting in commit cf3441250bb5d8b45f6f8b389fcdf427a99ac28a and prior to commit a4f6b8d8c90b3eaa33d13dfd1093062ab9c4b30c on the master branch, arbitrary command injection can lead to code execution when a user enters a directory in a Git repository containing a crafted branch name. Exploitation requires the LP_ENABLE_GITSTATUSD config option to be enabled (enabled by default), gitstatusd to be installed and started before Liquid Prompt is loaded (not the default), and shell prompt substitution to be active (enabled by default in Bash via "shopt -s promptvars", not enabled by default in Zsh). A branch name containing shell syntax such as "$(...)" or backtick expressions in the default branch or a checked-out branch will be evaluated by the shell when the prompt is rendered. No stable release is affected; only the master branch contains the vulnerable commit. Commit a4f6b8d8c90b3eaa33d13dfd1093062ab9c4b30c contains a fix. As a workaround, set the LP_ENABLE_GITSTATUSD config option to 0.

📍 영향받는 시스템

Liquid Prompt master 브랜치 (commit cf34412부터 a4f6b8d 이전); 안정 버전은 미영향

⚔️ 공격 벡터

$(악의적명령) 또는 백틱 구문을 포함한 브랜치 이름으로 저장소 생성 후 사용자의 저장소 진입 시 프롬프트 렌더링 중 쉘 명령 실행

🛡️ 대응 방법

LP_ENABLE_GITSTATUSD=0으로 설정하거나 Liquid Prompt를 최신 버전(a4f6b8d 커밋 이후)으로 업데이트

🔧 검증 코드

LP_ENABLE_GITSTATUSD=1이 출력되면 취약 상태이고, 'Not configured' 또는 출력이 없으면 안전합니다.

Shell / Script
grep 'LP_ENABLE_GITSTATUSD' ~/.bashrc ~/.zshrc 2>/dev/null || echo 'Not configured'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git