p PatchFirst

PatchFirst · Latest vulnerabilities

dulwich vulnerabilities

Vulnerabilities published for dulwich in the last 30 days: 5. Listed in the KEV catalogue: 0.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 13

  1. CVE-2026-114098

    High · CVSS 7.3EPSS 0.15%Fix available

    Dulwich 0.22.5 before 1.2.8 Path Traversal via Stash Pop Symlinks

    Dulwich from 0.22.5 before 1.2.8 contains a path traversal vulnerability in stash.py pop() that allows attackers to write arbitrary files outside the worktree through intermediate directory symlinks. Attackers can craft a malicious repository whose popped stash writes a payload into .git/hooks/post-checkout, achieving code execution on the next checkout.

    • Update to 1.2.8
    Published Updated
  2. CVE-2026-114097

    High · CVSS 7.3EPSS 0.15%Fix available

    Dulwich 0.23.1 before 1.2.8 Symlink Path Traversal via filter_branch Index Filter

    Dulwich from 0.23.1 before 1.2.8 contains a path traversal vulnerability in CommitFilter._apply_index_filter() that allows attackers to write files outside the working directory via symlinks persisting between commits. Attackers can craft a repository where an ancestor commit's symlink redirects a descendant commit's file writes during filter_branch, enabling code execution by writing into .git/hooks.

    • Update to 1.2.8
    Published Updated
  3. CVE-2026-114096

    High · CVSS 7.3EPSS 0.15%Fix available

    Dulwich 0.24.0 before 1.2.8 Symlink Write-Through via porcelain.checkout paths

    Dulwich from 0.24.0 before 1.2.8 contains a symlink following vulnerability in porcelain.checkout(paths=[...]) that allows attackers to write arbitrary files by abusing raw os.open without O_NOFOLLOW. Attackers can craft a repository where a worktree symlink points to .git/hooks/post-checkout, so restoring the file from a tag writes a malicious hook for code execution.

    • Update to 1.2.8
    Published Updated
  4. CVE-2026-114095

    High · CVSS 7.1EPSS 0.25%Fix available

    Dulwich before 1.2.9 Infinite Loop DoS via Pack.resolve_object

    Dulwich before 1.2.9 contains a denial of service vulnerability in Pack.resolve_object that allows attackers to cause infinite recursion via self-referential OFS_DELTA objects. Attackers can supply a malicious packfile with an OFS_DELTA delta_offset of 0 to exhaust CPU during clone, fetch, or cat-file operations.

    • Update to 1.2.9
    Published Updated
  5. CVE-2026-114094

    High · CVSS 8.7EPSS 0.67%Fix available

    Dulwich before 1.2.9 Arbitrary File Write via DOS drive letter paths

    Dulwich before 1.2.9 fails to validate DOS drive letter prefixes in Git tree path elements on Windows, allowing arbitrary file write. Attackers can craft a malicious repository with a tree entry named 'C:' that bypasses NTFS validation and writes files outside the worktree to achieve remote code execution.

    • Update to 1.2.9
    Published Updated
  6. CVE-2026-52726

    High · CVSS 7.5EPSS 0.68%Fix available

    Dulwich's submodule path traversal in porcelain.submodule_update / porcelain.clone(recurse_submodules=True) yields RCE via attacker-dropped .git/hooks payload

    Dulwich is a pure-Python implementation of the Git file formats and protocols. Starting in version 0.23.2 and prior to version 1.2.5, `dulwich.porcelain.submodule_update`, and by extension `porcelain.clone(..., recurse_submodules=True)`, materializes attacker-controlled submodule paths from a crafted upstream repository without path validation. A malicious `.gitmodules` plus a matching tree gitlink whose `path` is `.git/hooks` (or any other directory inside the parent repository's `.git` directory) causes the attacker's submodule tree contents to be written directly into the victim's `.git/hooks/` directory, preserving executable mode bits. T

    • Update to 1.2.5
    Published Updated
  7. CVE-2026-47734

    Medium · CVSS 5.7EPSS 0.33%Fix available

    Dulwich has unbounded memory allocation in receive-pack from crafted thin packs

    Dulwich is a pure-Python implementation of the Git file formats and protocols. Starting in version 0.1.0 and prior to version 1.2.5, a client with push access could push a tiny crafted thin pack (~174 bytes) whose delta header declares a huge dest_size. When dulwich ingested it via add_thin_pack / apply_delta, it would allocate hundreds of MB of memory based on that attacker-controlled size, with no relationship to the actual bytes received. Operators running a Dulwich-based Git server that exposes git-receive-pack (i.e. accepts pushes) - for example via dulwich.server functionality, the HTTP smart server, or anything built on ReceivePa

    • Update to 1.2.5
    Published Updated
  8. CVE-2026-47712

    Low · CVSS 3.3EPSS 0.18%Fix available

    Dulwich doesn't sanitize commit subjects in `porcelain.format_patch`

    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

    • Update to 1.2.5
    Published Updated
  9. CVE-2026-42305

    High · CVSS 8.8EPSS 0.85%Fix available

    Dulwich has an arbitrary file write via NTFS-hostile tree entries on Windows

    Dulwich is a pure-Python implementation of the Git file formats and protocols. Versions starting with 0.10.0 and prior to 1.2.5 have an arbitrary file write leading to remote code execution when cloning or checking out a malicious Git repository on Windows. Dulwich's path-element validator accepted tree entries whose filenames contained bytes that Windows interprets as structural path syntax. Contributing configuration bugs made matters worse. The core.protectNTFS and core.protectHFS settings were looked up under a wrong option name and so user-set values were silently ignored, and core.protectNTFS only defaulted to true on Windows (Git upstr

    • Update to 1.2.5
    Published Updated
  10. CVE-2026-42563

    High · CVSS 7.7EPSS 0.8%Fix available

    Dulwich Vulnerable to Command Injection via Merge Driver Path

    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's `ProcessMergeDriver` substitutes the file path (from the git tree, controllable by an attacker via a malicious branch) into the merge driver command via the `%P` placeholder and executes it with `subprocess.run(..., shell=True)`. An attacker who can cause a victim to merge an untrusted branch can achieve arbitrary command execution by crafting malicious file paths. Version 1.2.5 fixes the issue.

    • Update to 1.2.5
    Published Updated
  11. CVE-2017-16228

    Critical · CVSS 9.8EPSS 3.71%Fix available

    CVE-2017-16228

    Dulwich before 0.18.5, when an SSH subprocess is used, allows remote attackers to execute arbitrary commands via an ssh URL with an initial dash character in the hostname, a related issue to CVE-2017-9800, CVE-2017-12836, CVE-2017-12976, CVE-2017-1000116, and CVE-2017-1000117.

    • Update to 0.18.5
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →