🔍 CVE-2025-30370

7.4
CVSS Score
HIGH
2025-04-03
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

JupyterLab의 Git 확장에서 쉘 명령어 주입 취약점으로, 악의적인 이름의 Git 저장소 디렉토리(쉘 명령어 치환 문자열 포함)가 있을 때 사용자가 Git 메뉴에서 터미널을 열면 공격자의 명령어가 무단으로 실행됩니다. 0.51.1 버전에서 수정되었습니다.

💡 쉬운 설명

JupyterLab에서 Git 저장소를 터미널로 열 때, 폴더 이름에 숨겨진 명령어가 있으면 자동으로 실행되는 문제입니다. 사용자가 모르게 악의적인 명령어가 실행될 수 있습니다.

🇺🇸 원문 (English)

jupyterlab-git is a JupyterLab extension for version control using Git. On many platforms, a third party can create a Git repository under a name that includes a shell command substitution string in the syntax $(<command>). These directory names are allowed in macOS and a majority of Linux distributions. If a user starts jupyter-lab in a parent directory of this inappropriately-named Git repository, opens it, and clicks "Git > Open Git Repository in Terminal" from the menu bar, then the injected command <command> is run in the user's shell without the user's permission. This issue is occurring because when that menu entry is clicked, jupyterlab-git opens the terminal and runs cd <git-repo-path> through the shell to set the current directory. Doing so runs any command substitution strings present in the directory name, which leads to the command injection issue described here. A previous patch provided an incomplete fix. This vulnerability is fixed in 0.51.1.

📍 영향받는 시스템

jupyterlab-git 0.51.0 이전 버전 (macOS, Linux)

⚔️ 공격 벡터

쉘 명령어 치환 문자열(예: $(<command>))을 포함한 Git 저장소 디렉토리명 생성 후 사용자가 Git > Open Git Repository in Terminal 선택시 실행

🛡️ 대응 방법

jupyterlab-git을 0.51.1 이상으로 업데이트

🔧 검증 코드

Version: 0.51.1 이상이면 안전하고, 0.51.0 이하면 취약함

Shell / Script
pip show jupyterlab-git 2>/dev/null | grep -E 'Version|version' || conda list jupyterlab-git 2>/dev/null | grep jupyterlab-git

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git