<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 10:37:46 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-44243 — GitPython: Path traversal in GitPython reference APIs allows arbitrary file write and delete outside the repository</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-44243</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; gitpython-developers GitPython&lt;/p&gt;
&lt;p&gt;GitPython is a python library used to interact with Git repositories. Prior to version 3.1.48, a vulnerability in GitPython allows attackers who can supply a crafted reference path to an application using GitPython to write, overwrite, move, or delete files outside the repository’s .git directory via insufficient validation of reference paths in reference creation, rename, and delete operations. This issue has been patched in version 3.1.48.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; gitpython-developers GitPython&lt;/p&gt;
&lt;p&gt;GitPython is a python library used to interact with Git repositories. Prior to version 3.1.48, a vulnerability in GitPython allows attackers who can supply a crafted reference path to an application using GitPython to write, overwrite, move, or delete files outside the repository’s .git directory via insufficient validation of reference paths in reference creation, rename, and delete operations. This issue has been patched in version 3.1.48.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-44243</guid>
    </item>
    <item>
      <title>GHSA-7545-fcxq-7j24 — GitPython reference APIs has a path traversal vulnerability that allows arbitrary file write and delete outside the rep…</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-7545-fcxq-7j24</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: GitPython&lt;/p&gt;
&lt;p&gt;## 🧾 Summary&lt;/p&gt;
&lt;p&gt;A vulnerability in **GitPython** allows **attackers who can supply a crafted reference path to an application using GitPython** to **write, overwrite, move, or delete files outside the repository’s `.git` directory** via **insufficient validation of reference paths in reference creation, rename, and delete operations**.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## 📦 Affected Versions&lt;/p&gt;
&lt;p&gt;* Affected: `&amp;lt;= 3.1.46` and current `main` (`3.1.47` in local checkout)&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## 🧠 Details&lt;/p&gt;
&lt;p&gt;### Vulnerability Type&lt;/p&gt;
&lt;p&gt;**Path Traversal leading to Arbitrary File Write and Arbitrary File Deletion**&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Root Cause&lt;/p&gt;
&lt;p&gt;Reference paths are validated when they are resolved for reading, but are not consistently validated before filesystem write, rename, and delete operations.&lt;/p&gt;
&lt;p&gt;`SymbolicReference._check_ref_name_valid()` rejects traversal sequences such as `..`, but `SymbolicReference.create`, `Reference.create`, `SymbolicReference.set_reference`, `SymbolicReference.rename`, and `SymbolicReference.delete` still construct filesystem paths from attacker-controlled ref names without enforcing repository boundaries.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Affected Code&lt;/p&gt;
&lt;p&gt;```python
def set_reference(self, ref, logmsg=None):
    ...
    fpath = self.abspath
    assure_directory_exists(fpath, is_file=True)&lt;/p&gt;
&lt;p&gt;lfd = LockedFD(fpath)
    fd = lfd.open(write=True, stream=True)
    ...
```&lt;/p&gt;
&lt;p&gt;```python
@classmethod
def delete(cls, repo, path):
    full_ref_path = cls.to_full_path(path)
    abs_path = os.path.join(repo.common_dir, full_ref_path)
    if os.path.exis…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: GitPython&lt;/p&gt;
&lt;p&gt;## 🧾 Summary&lt;/p&gt;
&lt;p&gt;A vulnerability in **GitPython** allows **attackers who can supply a crafted reference path to an application using GitPython** to **write, overwrite, move, or delete files outside the repository’s `.git` directory** via **insufficient validation of reference paths in reference creation, rename, and delete operations**.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## 📦 Affected Versions&lt;/p&gt;
&lt;p&gt;* Affected: `&amp;lt;= 3.1.46` and current `main` (`3.1.47` in local checkout)&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## 🧠 Details&lt;/p&gt;
&lt;p&gt;### Vulnerability Type&lt;/p&gt;
&lt;p&gt;**Path Traversal leading to Arbitrary File Write and Arbitrary File Deletion**&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Root Cause&lt;/p&gt;
&lt;p&gt;Reference paths are validated when they are resolved for reading, but are not consistently validated before filesystem write, rename, and delete operations.&lt;/p&gt;
&lt;p&gt;`SymbolicReference._check_ref_name_valid()` rejects traversal sequences such as `..`, but `SymbolicReference.create`, `Reference.create`, `SymbolicReference.set_reference`, `SymbolicReference.rename`, and `SymbolicReference.delete` still construct filesystem paths from attacker-controlled ref names without enforcing repository boundaries.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Affected Code&lt;/p&gt;
&lt;p&gt;```python
def set_reference(self, ref, logmsg=None):
    ...
    fpath = self.abspath
    assure_directory_exists(fpath, is_file=True)&lt;/p&gt;
&lt;p&gt;lfd = LockedFD(fpath)
    fd = lfd.open(write=True, stream=True)
    ...
```&lt;/p&gt;
&lt;p&gt;```python
@classmethod
def delete(cls, repo, path):
    full_ref_path = cls.to_full_path(path)
    abs_path = os.path.join(repo.common_dir, full_ref_path)
    if os.path.exis…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-7545-fcxq-7j24</guid>
    </item>
    <item>
      <title>PYSEC-2026-2162</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-2162</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: gitpython&lt;/p&gt;
&lt;p&gt;GitPython is a python library used to interact with Git repositories. Prior to version 3.1.48, a vulnerability in GitPython allows attackers who can supply a crafted reference path to an application using GitPython to write, overwrite, move, or delete files outside the repository’s .git directory via insufficient validation of reference paths in reference creation, rename, and delete operations. This issue has been patched in version 3.1.48.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: gitpython&lt;/p&gt;
&lt;p&gt;GitPython is a python library used to interact with Git repositories. Prior to version 3.1.48, a vulnerability in GitPython allows attackers who can supply a crafted reference path to an application using GitPython to write, overwrite, move, or delete files outside the repository’s .git directory via insufficient validation of reference paths in reference creation, rename, and delete operations. This issue has been patched in version 3.1.48.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-2162</guid>
    </item>
  </channel>
</rss>
