<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T20:43:50.796814+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-52726</id>
    <title>CVE-2026-52726 — Dulwich's submodule path traversal in porcelain.submodule_update / porcelain.clone(recurse_submodules=True) yields RCE…</title>
    <updated>2026-10-01T20:43:50.802192+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> jelmer dulwich</p>
<p>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. The dropped executables are then run by any subsequent `git` or `dulwich` command that invokes the matching hook, resulting in arbitrary code execution. This is the dulwich equivalent of the upstream Git fixes for CVE-2024-32002 / CVE-2024-32004, which were never propagated into dulwich's separately implemented submodule porcelain. Version 1.2.5 patches the issue.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-52726"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-gfhv-vqv2-4544</id>
    <title>GHSA-gfhv-vqv2-4544 — Dulwich's submodule path traversal in porcelain.submodule_update / porcelain.clone(recurse_submodules=True) yields RCE…</title>
    <updated>2026-10-01T20:43:50.802311+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: dulwich</p>
<p>### Summary</p>
<p>`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. The dropped executables are then run by any subsequent `git` or `dulwich` command that invokes the matching hook, resulting in arbitrary code execution.</p>
<p>This is the dulwich equivalent of the upstream Git fixes for CVE-2024-32002 / CVE-2024-32004, which were never propagated into dulwich's separately implemented submodule porcelain.</p>
<p>### Affected</p>
<p>- **Package:** `dulwich` (PyPI)
- **Affected versions:** `&gt;=0.23.2, &lt;1.2.5`
- **Affected platforms:** all (Linux, macOS, Windows). Exploitation does not require a case-insensitive or NTFS filesystem, because the path written is a literal `.git/hooks` rather than a case- or short-name-aliased form.</p>
<p>Affected entry points:
- `dulwich.porcelain.submodule_update(repo, init=True, recursive=True)`
- `dulwich.porcelain.clone(source, target, recurse_submodules=True)`
- `dulwich submodule update` CLI / `dulwich clone --recurse-submodules` CLI</p>
<p>### Vulnerable code</p>
<p>The submodule path from the tree's gitlink entry (and match…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-gfhv-vqv2-4544"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/pysec-2026-2465</id>
    <title>PYSEC-2026-2465 — Dulwich's submodule path traversal in porcelain.submodule_update / porcelain.clone(recurse_submodules=True) yields RCE…</title>
    <updated>2026-10-01T20:43:50.802458+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: dulwich</p>
<p>### Summary</p>
<p>`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. The dropped executables are then run by any subsequent `git` or `dulwich` command that invokes the matching hook, resulting in arbitrary code execution.</p>
<p>This is the dulwich equivalent of the upstream Git fixes for CVE-2024-32002 / CVE-2024-32004, which were never propagated into dulwich's separately implemented submodule porcelain.</p>
<p>### Affected</p>
<p>- **Package:** `dulwich` (PyPI)
- **Affected versions:** `&gt;=0.23.2, &lt;1.2.5`
- **Affected platforms:** all (Linux, macOS, Windows). Exploitation does not require a case-insensitive or NTFS filesystem, because the path written is a literal `.git/hooks` rather than a case- or short-name-aliased form.</p>
<p>Affected entry points:
- `dulwich.porcelain.submodule_update(repo, init=True, recursive=True)`
- `dulwich.porcelain.clone(source, target, recurse_submodules=True)`
- `dulwich submodule update` CLI / `dulwich clone --recurse-submodules` CLI</p>
<p>### Vulnerable code</p>
<p>The submodule path from the tree's gitlink entry (and match…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/pysec-2026-2465"/>
  </entry>
</feed>
