Impact
Dulwich versions 0.23.1 through 1.2.7 contain a path traversal flaw in CommitFilter._apply_index_filter that permits attackers to create symbolic links that, when filter_branch is run, write files outside the intended working directory. This ability to write arbitrary files, including executable hooks in .git/hooks, can lead to remote code execution on the system hosting the repository. The weakness is a classic directory traversal (CWE-22 and CWE-59) and threatens confidentiality, integrity, and availability by enabling unauthorized file manipulation and script execution within the Git repository environment.
Affected Systems
The vulnerability affects the Dulwich project library released under the jelmer:dulwich vendor, including all versions from 0.23.1 up to but excluding 1.2.8. Any deployment that uses these versions in a development or production environment is potentially impacted. This includes self-hosted Git services or applications embedding Dulwich for repository manipulation.
Risk and Exploitability
The CVSS score of 7.3 classifies the issue as high severity, while the EPSS score of less than 1% indicates a very low but present likelihood of exploitation. The flaw is not listed in the CISA KEV catalog. Attackers can exploit the weakness by crafting a malicious repository that contains a symlink in an ancestor commit pointing to a location outside the working directory, which is then followed during a filter_branch operation. The attack vector is inferred to be local or remote repository manipulation, typically within environments where filter_branch is executed on untrusted content.
OpenCVE Enrichment