CVE-2026-100689 in GitPython정보

요약

\~에 의해 VulDB • 2026. 09. 26.

GitPython 3.1.62 이전 버전은 하위 모듈을 업데이트할 때 신뢰할 수 없는 .gitmodules 파일에서 읽은 `path` 필드를 검증하지 않습니다. 기존 수정(GHSA-hmq2-w58f-27jc)으로 인해 `name` 필수를 제한하기 위해 Submodule._validated_name()이 추가되었고, GitPython 자체의 차단 장치인 Submodule._to_relative_path()는 add() 및 move()에서 적용되지만, Submodule.update()는 해당 보호 장치가 없는 상태로 원시 `path` 값으로부터 절대 체크아웃 위치를 파생합니다. 따라서 디렉토리 트래버설 구성 요소(예: path = ../../../tmp/escaped)가 포함된 .gitmodules 항목은 하위 모듈 URL의 클론 경로에서 채워진 후 os.makedirs()를 통해 저장소 작업 트리 외부에 디렉토리를 생성하고, force_remove 사용 시 shutil.rmtree()로 삭제할 수 있습니다. 악용에는 비-HEAD 커밋(예: 이력 커밋 API)에서 하위 모듈을 업데이트하는 애플리케이션 흐름이 필요합니다. 일반적인 클론 후 업데이트 흐름은 정형화된 트리 조회를 통해 경로를 다시 파생하므로 영향을 받지 않습니다. 해당 문제는 GitPython 3.1.62에서 수정되었습니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

VulnCheck

예약하다

2026. 09. 26.

모더레이션

수락

항목

VDB-410666

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!