Path Traversal in Dulwich porcelain.format_patch filename generation
CVE-2026-47712 affects Dulwich, a pure-Python implementation of Git formats and protocols. Starting in version 0.24.0 and prior to version 1.2.5, dulwich.porcelain.format_patch(outdir=...) derived each patch filename from the commit subject line. Before the fix, dulwich.patch.get_summary only replaced spaces with dashes and did not sanitize path separators, parent-directory components, or other filename-hostile characters. The resulting summary was passed into os.path.join(outdir, f"{i:04d}-{summary}.patch"), allowing a malicious commit subject such as one containing "/", "\", or ".." to influence the final path and steer patch output outside the intended outdir. Dulwich 1.2.5 fixes this by sanitizing subjects similarly to Git's format_sanitized_subject, retaining only safe filename characters, collapsing runs of unsafe characters, stripping unsafe trailing characters, and limiting length.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
No public exploits tracked yet. Mallory keeps watching.
No public exploit code observed for this vulnerability.
Recent activity
2 sources tracked across advisories and community write-ups. News coverage will land here when it surfaces.
No news coverage yet. Advisories and community discussion only.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.