<?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://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-29T17:24:09.639734+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" 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://db.gcve.eu/vuln/bdu:2026-17280</id>
    <title>bdu:2026-17280</title>
    <updated>2026-10-29T17:24:09.643448+00:00</updated>
    <content>bdu:2026-17280</content>
    <link href="https://db.gcve.eu/vuln/bdu:2026-17280"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/brew-nbdime-cve-2026-110856</id>
    <title>BREW-nbdime-CVE-2026-110856 — GitPython parse_actor_and_date() is vulnerable to quadratic backtracking on malformed identity lines</title>
    <updated>2026-10-29T17:24:09.643559+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: nbdime</p>
<p>### Summary</p>
<p>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.</p>
<p>### Details</p>
<p>`git/objects/util.py:322`:</p>
<p>```python
_re_actor_epoch = re.compile(r"^.+? (.*) (\d+) ([+-]\d+).*$")
```</p>
<p>`.+?` 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.</p>
<p>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`.</p>
<p>The published payload (letters plus an unterminated `&lt;`) is fast on 3.1.62. Replacing the letters with spaces is not:</p>
<p>| author line (after `author `) | 2 KB | 8 KB | 32 KB |
|---|---|---|---|
| `'a'*n + ' &lt;'` (advisory payload) | 0.0 ms | 0.1 ms | 0.4 ms |
| `' '*n` | 28 ms | 453 ms | 7,700 ms |
| valid line, long name (control) | 0.0 ms | 0.0 ms | 0.0 ms |</p>
<p>Cost grows about 16x for each 4x increase in length.</p>
<p>### PoC</p>
<p>```python
import time
from git.objects.util import parse_actor_and_date</p>
<p>line = "author " + " " * 32000
t = time.perf_coun…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/brew-nbdime-cve-2026-110856"/>
  </entry>
</feed>
