# CVE-2026-114097: Dulwich path traversal in filter_branch CommitFilter

Source: https://junglewise.ai/threats/cve-2026-114097-dulwich-from-0-23-1-before-1-2-8-contains-a-path-traversal  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-21. Updated: 2026-10-21  
License: CC BY 4.0 with a link back

CVE-2026-114097 · Severity: high · CVSS 7.8 · Published 2026-10-21

Dulwich is a Python library for Git version control operations. An attacker can craft a malicious Git repository that, when processed by Dulwich's filter_branch command, writes files to arbitrary locations on the system via symlink traversal, potentially enabling remote code execution if a hook file is overwritten.

Technologies: [Jelmer Dulwich](https://junglewise.ai/threats/technologies/jelmer-dulwich). Vendors: [Jelmer](https://junglewise.ai/threats/vendors/jelmer).

## Quick answers

**Is CVE-2026-114097 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-114097 being exploited in the wild.

**How severe is CVE-2026-114097?** High severity, with a CVSS score of 7.8, published 21 October 2026.

**Which products and versions are affected?** Jelmer Dulwich 0.23.1 to 1.2.7.

**Is there a fix for CVE-2026-114097?** Yes: fixed in 1.2.8. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-114097 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-114097?** Check whether you run Jelmer Dulwich at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 1.2.8

## Technical details

A path traversal vulnerability exists in CommitFilter._apply_index_filter() where materialized tree entries (including symlinks) persist in the working directory between commits. An attacker can create a repository with an ancestor commit containing a symlink and a descendant commit with a file path that traverses the symlink, causing writes to arbitrary filesystem locations. The vulnerability requires the user to run filter_branch with an index filter on a malicious repository.

## Affected products

- Jelmer Dulwich 0.23.1 to 1.2.7

## Timeline

- 2026-07-06: disclosed
- 2026-10-20: advisory

## References

- [https://github.com/jelmer/dulwich/security/advisories/GHSA-5fqc-mrg8-w798](https://github.com/jelmer/dulwich/security/advisories/GHSA-5fqc-mrg8-w798)
- [https://www.vulncheck.com/advisories/dulwich-0.23.1-before-1.2.8-symlink-path-traversal-via-filter-branch-index-filter](https://www.vulncheck.com/advisories/dulwich-0.23.1-before-1.2.8-symlink-path-traversal-via-filter-branch-index-filter)

## Related threats

- [Dulwich commit object parsing divergence from git](https://junglewise.ai/threats/cve-2026-122299-dulwich-before-1-2-20-contains-a-commit-object-parsing)
- [Dulwich path traversal in stash pop via symlinks](https://junglewise.ai/threats/cve-2026-114098-dulwich-from-0-22-5-before-1-2-8-contains-a-path-traversal)
- [Dulwich symlink following in porcelain.checkout](https://junglewise.ai/threats/cve-2026-114096-dulwich-from-0-24-0-before-1-2-8-contains-a-symlink-following)
- [Dulwich path traversal via DOS drive letter prefixes on Windows](https://junglewise.ai/threats/cve-2026-114094-dulwich-before-1-2-9-fails-to-validate-dos-drive-letter-prefixes)
