<?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://db.gcve.eu</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>Thu, 29 Oct 2026 19:46:17 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-110856 — GitPython before 3.2.0 ReDoS via _re_actor_epoch in parse_actor_and_date</title>
      <link>https://db.gcve.eu/vuln/cve-2026-110856</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; gitpython-developers GitPython&lt;/p&gt;
&lt;p&gt;GitPython before 3.2.0 contains a regular expression denial of service vulnerability in the _re_actor_epoch pattern used by parse_actor_and_date on author, committer, and tagger lines. Attackers can serve repositories with commit or tag objects containing long space-filled lines lacking a valid epoch or timezone, causing quadratic backtracking and CPU exhaustion.&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 before 3.2.0 contains a regular expression denial of service vulnerability in the _re_actor_epoch pattern used by parse_actor_and_date on author, committer, and tagger lines. Attackers can serve repositories with commit or tag objects containing long space-filled lines lacking a valid epoch or timezone, causing quadratic backtracking and CPU exhaustion.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-110856</guid>
    </item>
    <item>
      <title>GHSA-m64x-33q8-m5h7 — GitPython parse_actor_and_date() is vulnerable to quadratic backtracking on malformed identity lines</title>
      <link>https://db.gcve.eu/vuln/ghsa-m64x-33q8-m5h7</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;This is a residual of GHSA-g5vv-9gxw-82hx / CVE-2026-87819. The 3.1.60 fix made `Actor._from_string` regex-free, but `parse_actor_and_date` still runs `_re_actor_epoch` on the same author/committer/tagger line one step earlier. That pattern backtracks quadratically when the trailing epoch or timezone is missing or malformed, so the same class of slow parse is still reachable in 3.1.62.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`git/objects/util.py:322`:&lt;/p&gt;
&lt;p&gt;```python
_re_actor_epoch = re.compile(r&amp;#34;^.+? (.*) (\d+) ([+-]\d+).*$&amp;#34;)
```&lt;/p&gt;
&lt;p&gt;`.+?` and `(.*)` can both absorb the same run of spaces, and the required ` (\d+) ([+-]\d+)` tail is only checked after them. On a long line with no valid tail, the search retries every split point.&lt;/p&gt;
&lt;p&gt;It is called from `parse_actor_and_date` (`git/objects/util.py:335`), which runs on the author and committer lines in `Commit._deserialize` (`git/objects/commit.py:917`, `:931`) and on the tagger line in `git/objects/tag.py:129`.&lt;/p&gt;
&lt;p&gt;The published payload (letters plus an unterminated `&amp;lt;`) is fast on 3.1.62. Replacing the letters with spaces is not:&lt;/p&gt;
&lt;p&gt;| author line (after `author `) | 2 KB | 8 KB | 32 KB |
|---|---|---|---|
| `&amp;#39;a&amp;#39;*n + &amp;#39; &amp;lt;&amp;#39;` (advisory payload) | 0.0 ms | 0.1 ms | 0.4 ms |
| `&amp;#39; &amp;#39;*n` | 28 ms | 453 ms | 7,700 ms |
| valid line, long name (control) | 0.0 ms | 0.0 ms | 0.0 ms |&lt;/p&gt;
&lt;p&gt;Cost grows about 16x for each 4x increase in length.&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;```python
import time
from git.objects.util import parse_actor_and_date&lt;/p&gt;
&lt;p&gt;line = &amp;#34;author &amp;#34; + &amp;#34; &amp;#34; * 32000
t = time.perf_coun…&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;This is a residual of GHSA-g5vv-9gxw-82hx / CVE-2026-87819. The 3.1.60 fix made `Actor._from_string` regex-free, but `parse_actor_and_date` still runs `_re_actor_epoch` on the same author/committer/tagger line one step earlier. That pattern backtracks quadratically when the trailing epoch or timezone is missing or malformed, so the same class of slow parse is still reachable in 3.1.62.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`git/objects/util.py:322`:&lt;/p&gt;
&lt;p&gt;```python
_re_actor_epoch = re.compile(r&amp;#34;^.+? (.*) (\d+) ([+-]\d+).*$&amp;#34;)
```&lt;/p&gt;
&lt;p&gt;`.+?` and `(.*)` can both absorb the same run of spaces, and the required ` (\d+) ([+-]\d+)` tail is only checked after them. On a long line with no valid tail, the search retries every split point.&lt;/p&gt;
&lt;p&gt;It is called from `parse_actor_and_date` (`git/objects/util.py:335`), which runs on the author and committer lines in `Commit._deserialize` (`git/objects/commit.py:917`, `:931`) and on the tagger line in `git/objects/tag.py:129`.&lt;/p&gt;
&lt;p&gt;The published payload (letters plus an unterminated `&amp;lt;`) is fast on 3.1.62. Replacing the letters with spaces is not:&lt;/p&gt;
&lt;p&gt;| author line (after `author `) | 2 KB | 8 KB | 32 KB |
|---|---|---|---|
| `&amp;#39;a&amp;#39;*n + &amp;#39; &amp;lt;&amp;#39;` (advisory payload) | 0.0 ms | 0.1 ms | 0.4 ms |
| `&amp;#39; &amp;#39;*n` | 28 ms | 453 ms | 7,700 ms |
| valid line, long name (control) | 0.0 ms | 0.0 ms | 0.0 ms |&lt;/p&gt;
&lt;p&gt;Cost grows about 16x for each 4x increase in length.&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;```python
import time
from git.objects.util import parse_actor_and_date&lt;/p&gt;
&lt;p&gt;line = &amp;#34;author &amp;#34; + &amp;#34; &amp;#34; * 32000
t = time.perf_coun…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-m64x-33q8-m5h7</guid>
    </item>
  </channel>
</rss>
