🇰🇷 한글 설명
Dulwich 0.24.0부터 1.2.5 미만의 버전에서 병합 드라이버 실행 시 공격자가 조작한 파일 경로를 시스템 명령어로 직접 실행하는 취약점이 존재합니다. 이는 악성 브랜치를 통해 임의의 코드 실행을 허용하는 심각한 보안 문제입니다.
💡 쉬운 설명
Git 파일 처리 라이브러리인 Dulwich에서 악의적인 파일 이름이 시스템 명령어로 실행되는 버그가 있습니다. 공격자가 악성 브랜치를 제공하면 사용자의 컴퓨터에서 임의의 명령어를 실행당할 수 있습니다.
🇺🇸 원문 (English)
Dulwich is a pure-Python implementation of the Git file formats and protocols. Starting in version 0.24.0 and prior to version 1.2.5, Dulwich's `ProcessMergeDriver` substitutes the file path (from the git tree, controllable by an attacker via a malicious branch) into the merge driver command via the `%P` placeholder and executes it with `subprocess.run(..., shell=True)`. An attacker who can cause a victim to merge an untrusted branch can achieve arbitrary command execution by crafting malicious file paths. Version 1.2.5 fixes the issue.
📍 영향받는 시스템
Dulwich Python 패키지 버전 0.24.0 이상 1.2.5 미만
⚔️ 공격 벡터
악성 파일 경로가 포함된 Git 브랜치를 통해 병합 작업을 수행하도록 유도
🛡️ 대응 방법
Dulwich 패키지를 보안이 패치된 버전 1.2.5 이상으로 즉시 업그레이드
🔧 검증 코드
출력된 버전이 1.2.5보다 낮으면 취약한 버전이므로 업그레이드가 필요합니다.
python3 -c "import dulwich; print(dulwich.__version__)"