🇰🇷 한글 설명
Dulwich 0.10.0 이상 1.2.5 미만 버전은 Windows 환경에서 악성 Git 저장소를 클론하거나 체크아웃할 때 임의 파일 쓰기를 통해 원격 코드 실행을 허용하는 취약점이 있습니다. 이는 경로 요소 검증자의 결함과 핵심 보호 설정이 무시되는 구성 버그로 인해 발생하며, 수정된 1.2.5 버전으로 업그레이드해야 합니다.
💡 쉬운 설명
Dulwich 프로그램을 사용하는 Windows 사용자는 악의적인 Git 저장소를 열 때 해커의 코드가 내 컴퓨터에서 실행될 수 있습니다. 이 문제를 해결하려면 최신 버전인 1.2.5로 프로그램을 업데이트해야 합니다.
🇺🇸 원문 (English)
Dulwich is a pure-Python implementation of the Git file formats and protocols. Versions starting with 0.10.0 and prior to 1.2.5 have an arbitrary file write leading to remote code execution when cloning or checking out a malicious Git repository on Windows. Dulwich's path-element validator accepted tree entries whose filenames contained bytes that Windows interprets as structural path syntax. Contributing configuration bugs made matters worse. The core.protectNTFS and core.protectHFS settings were looked up under a wrong option name and so user-set values were silently ignored, and core.protectNTFS only defaulted to true on Windows (Git upstream has defaulted it to true everywhere since CVE-2019-1353). Both have been corrected. Anyone who clones, fetches, or checks out an untrusted repository with Dulwich on Windows - either through the Dulwich CLI, porcelain.clone, or any downstream tool built on Dulwich - is impacted. POSIX clones are not directly exploitable (on POSIX \ is a literal filename byte), but a POSIX user can unknowingly propagate a malicious tree to Windows consumers via push or re-publication. This issue is fixed in Dulwich 1.2.5. Users should upgrade to 1.2.5 or later. There is no effective pre-patch workaround. On affected versions the core.protectNTFS configuration key was silently ignored, so setting it to true does not mitigate the issue. Users who cannot upgrade should avoid cloning, fetching, or checking out untrusted repositories with Dulwich on Windows. After upgrading the NTFS validator is on by default on every platform, so no additional configuration is required.
📍 영향받는 시스템
Dulwich 0.10.0 이상 1.2.5 미만 (Windows)
⚔️ 공격 벡터
악성 Git 저장소 클론 또는 체크아웃
🛡️ 대응 방법
Dulwich를 1.2.5 이상 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 1.2.5보다 낮으면 취약하며, 1.2.5 이상이면 안전합니다.
python -c "import dulwich; print(dulwich.__version__)"