<?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://cve.radiocsirt.org</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>Fri, 02 Oct 2026 23:19:06 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-67324 — GitPython 3.1.50 Authentication Bypass via Joined Short Options</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-67324</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; gitpython-developers GitPython&lt;/p&gt;
&lt;p&gt;GitPython 3.1.50 fails to recognize joined short-option forms such as -u&amp;lt;value&amp;gt; (the short form of --upload-pack=&amp;lt;value&amp;gt;) when enforcing its default unsafe-option gate. When an application passes attacker-influenced clone options into Repo.clone_from(..., multi_options=..., allow_unsafe_options=False), an attacker can supply -u&amp;lt;helper&amp;gt; to bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper command during clone. Fixed in 3.1.51.&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 3.1.50 fails to recognize joined short-option forms such as -u&amp;lt;value&amp;gt; (the short form of --upload-pack=&amp;lt;value&amp;gt;) when enforcing its default unsafe-option gate. When an application passes attacker-influenced clone options into Repo.clone_from(..., multi_options=..., allow_unsafe_options=False), an attacker can supply -u&amp;lt;helper&amp;gt; to bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper command during clone. Fixed in 3.1.51.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-67324</guid>
    </item>
    <item>
      <title>GHSA-v396-v7q4-x2qj — GitPython unsafe clone option gate bypass through joined short options</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-v396-v7q4-x2qj</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: GitPython&lt;/p&gt;
&lt;p&gt;`GitPython` version `3.1.50` blocks unsafe `git clone` options such as `--upload-pack`, `-u`, `--config`, and `-c` unless callers explicitly pass `allow_unsafe_options=True`. However, the default unsafe-option gate does not recognize joined short-option forms such as `-u/path/to/helper`.&lt;/p&gt;
&lt;p&gt;Git itself accepts `-u&amp;lt;upload-pack&amp;gt;` as the short form of `--upload-pack=&amp;lt;upload-pack&amp;gt;`. As a result, `Repo.clone_from(..., multi_options=[&amp;#34;-u&amp;lt;helper&amp;gt;&amp;#34;], allow_unsafe_options=False)` can execute the helper command even though the equivalent long option is blocked.&lt;/p&gt;
&lt;p&gt;Affected package:&lt;/p&gt;
&lt;p&gt;- Ecosystem: PyPI
- Package: `GitPython`
- Confirmed affected version: `3.1.50`
- Repository: `gitpython-developers/GitPython`
- Current PyPI version during triage: `3.1.50`&lt;/p&gt;
&lt;p&gt;Relevant behavior:&lt;/p&gt;
&lt;p&gt;- `Repo.unsafe_git_clone_options` correctly lists `--upload-pack`, `-u`, `--config`, and `-c` as unsafe clone options.
- `Repo._clone()` splits `multi_options` with `shlex.split(&amp;#34; &amp;#34;.join(multi_options))` and then calls `Git.check_unsafe_options(...)`.
- `_canonicalize_option_name(&amp;#34;-u/path/to/helper&amp;#34;)` returns a string beginning with `u...`, not the canonical short option `u`, so it does not match the blocked `-u` entry.
- Git accepts the same joined short option as `--upload-pack=&amp;lt;helper&amp;gt;` and executes the helper during clone.&lt;/p&gt;
&lt;p&gt;Preconditions:&lt;/p&gt;
&lt;p&gt;An application must pass attacker-influenced clone options into `Repo.clone_from(..., multi_options=...)` while relying on GitPython&amp;#39;s default unsafe-option gate to block command-…&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` version `3.1.50` blocks unsafe `git clone` options such as `--upload-pack`, `-u`, `--config`, and `-c` unless callers explicitly pass `allow_unsafe_options=True`. However, the default unsafe-option gate does not recognize joined short-option forms such as `-u/path/to/helper`.&lt;/p&gt;
&lt;p&gt;Git itself accepts `-u&amp;lt;upload-pack&amp;gt;` as the short form of `--upload-pack=&amp;lt;upload-pack&amp;gt;`. As a result, `Repo.clone_from(..., multi_options=[&amp;#34;-u&amp;lt;helper&amp;gt;&amp;#34;], allow_unsafe_options=False)` can execute the helper command even though the equivalent long option is blocked.&lt;/p&gt;
&lt;p&gt;Affected package:&lt;/p&gt;
&lt;p&gt;- Ecosystem: PyPI
- Package: `GitPython`
- Confirmed affected version: `3.1.50`
- Repository: `gitpython-developers/GitPython`
- Current PyPI version during triage: `3.1.50`&lt;/p&gt;
&lt;p&gt;Relevant behavior:&lt;/p&gt;
&lt;p&gt;- `Repo.unsafe_git_clone_options` correctly lists `--upload-pack`, `-u`, `--config`, and `-c` as unsafe clone options.
- `Repo._clone()` splits `multi_options` with `shlex.split(&amp;#34; &amp;#34;.join(multi_options))` and then calls `Git.check_unsafe_options(...)`.
- `_canonicalize_option_name(&amp;#34;-u/path/to/helper&amp;#34;)` returns a string beginning with `u...`, not the canonical short option `u`, so it does not match the blocked `-u` entry.
- Git accepts the same joined short option as `--upload-pack=&amp;lt;helper&amp;gt;` and executes the helper during clone.&lt;/p&gt;
&lt;p&gt;Preconditions:&lt;/p&gt;
&lt;p&gt;An application must pass attacker-influenced clone options into `Repo.clone_from(..., multi_options=...)` while relying on GitPython&amp;#39;s default unsafe-option gate to block command-…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-v396-v7q4-x2qj</guid>
    </item>
    <item>
      <title>PYSEC-2026-3947</title>
      <link>https://cve.radiocsirt.org/vuln/pysec-2026-3947</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: gitpython&lt;/p&gt;
&lt;p&gt;GitPython 3.1.50 fails to recognize joined short-option forms such as -u&amp;lt;value&amp;gt; (the short form of --upload-pack=&amp;lt;value&amp;gt;) when enforcing its default unsafe-option gate. When an application passes attacker-influenced clone options into Repo.clone_from(..., multi_options=..., allow_unsafe_options=False), an attacker can supply -u&amp;lt;helper&amp;gt; to bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper command during clone. Fixed in 3.1.51.&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 3.1.50 fails to recognize joined short-option forms such as -u&amp;lt;value&amp;gt; (the short form of --upload-pack=&amp;lt;value&amp;gt;) when enforcing its default unsafe-option gate. When an application passes attacker-influenced clone options into Repo.clone_from(..., multi_options=..., allow_unsafe_options=False), an attacker can supply -u&amp;lt;helper&amp;gt; to bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper command during clone. Fixed in 3.1.51.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/pysec-2026-3947</guid>
    </item>
  </channel>
</rss>
