
CVE catalog
CVE-2026-47712
Dulwich is a pure-Python implementation of the Git file formats and protocols. Starting in version 0.24.0 and prior to version 1.2.5, dulwich.porcelain.format_patch(outdir=...) derives each patch file
- Severity
- Low · CVSS 3.3
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N - Published
- Source
- [NVD] · [CVE record]
- EPSS
- 0.14% · Oct 25, 2026
Dulwich is a pure-Python implementation of the Git file formats and protocols. Starting in version 0.24.0 and prior to version 1.2.5, dulwich.porcelain.format_patch(outdir=...) derives each patch filename from the commit's subject line. Prior to this fix, get_summary only replaced spaces with dashes - path separators (/, \), parent-directory components (..), and other filename-hostile characters (e.g. :) were preserved verbatim and passed straight into os.path.join(outdir, f"{i:04d}-{summary}.patch"). A malicious commit subject could therefore direct the generated patch file outside the requested outdir. This is fixed in Dulwich 1.2.5. Users should upgrade to 1.2.5 or later. dulwich.patch.get_summary now mirrors git's format_sanitized_subject: only `[A-Za-z0-9._]` are kept, runs of other characters collapse to a single -, consecutive . collapse to a single ., trailing ./- are stripped, and the result is length-limited. This makes the returned string safe to embed as a filename component, so format_patch can no longer be steered out of outdir via the commit subject. Until upgrading, callers that pass untrusted commits to porcelain.format_patch can use stdout=True and write the patch to a destination they control, rather than letting format_patch choose the filename; validate the chosen path before opening - e.g. compare os.path.realpath(returned_path) against os.path.realpath(outdir) and reject any patch whose resolved path is not inside outdir; and/or pre-screen commits and refuse to format any whose subject's first line contains /, \, .., or other characters that are not safe on the target filesystem.
Vulnerable and fixed packages
Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.
| Distribution | Package | Release | Version | Status |
|---|---|---|---|---|
| Debian | dulwich | sid | 1.2.17-1 | fixed |
| Debian | dulwich | forky | 1.2.17-1 | fixed |
| Debian | dulwich | trixie | 0.22.7-1 | vulnerable |
| Debian | dulwich | bookworm | 0.21.2-1 | vulnerable |
| Cpe | dulwich | Not reported | Not reported | vulnerable |
Fixed-version evidence
| Distribution | Package | Type | Release | Fixed version | Urgency | Origin | Bugs |
|---|---|---|---|---|---|---|---|
| Debian | dulwich | source | sid | 1.2.5-1 | not yet assigned | Not reported | Not reported |
| Debian | dulwich | source | forky | 1.2.5-1 | not yet assigned | Not reported | Not reported |
| Debian | dulwich | source | trixie | (unfixed) | not yet assigned | Not reported | Not reported |
| Debian | dulwich | source | bookworm | (unfixed) | not yet assigned | Not reported | Not reported |
OpenFactory catalog packages
[Debian 12 (Bookworm)]
- [python3-dulwich]Affected
Source package: [dulwich]
Details (2)
0.21.2-1+b1· amd64 · bookwormAffected
nvd · dulwich · debian · bookworm; nvd · dulwich · debian · 12
0.21.2-1+b1· arm64 · bookwormAffected
nvd · dulwich · debian · bookworm; nvd · dulwich · debian · 12
[Debian 13 (Trixie)]
- [python3-dulwich]Affected
Source package: [dulwich]
Details (2)
0.22.7-1· amd64 · trixieAffected
nvd · dulwich · debian · 13
0.22.7-1· arm64 · trixieAffected
nvd · dulwich · debian · 13
Observed:
References
- [https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_10900-1.json]
- [https://nvd.nist.gov/vuln/detail/CVE-2026-47712]
- [https://osv.dev/vulnerability/DEBIAN-CVE-2026-47712]
- [https://security-tracker.debian.org/tracker/CVE-2026-47712]
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-47712.json]
- [https://wid.cert-bund.de/.well-known/csaf/white/2026/wid-sec-w-2026-2455.json]
[CERT-Bund public advisories] · [Debian Security Tracker] · [FIRST EPSS] · [National Vulnerability Database (NVD)] · [OSV Package Vulnerability Database] · [Red Hat security advisories and VEX] · [SUSE security advisories and VEX]