CVE-2026-87819
GitPython before 3.1.60 Denial of Service via ReDoS
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.7
GitPython before 3.1.60 Denial of Service via ReDoS
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
CVE-2026-87819- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
EUVDEUVD-2026-74845
8.7
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
EUVD-2026-74845- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-g5vv-9gxw-82hx
7.5
GitPython: Denial of Service via catastrophic backtracking (ReDoS) in Actor.name_email_regex — commit author/committer field parsing
Summary
GitPython's Actor.name_email_regex regular expression (git/util.py, line 863)
is vulnerable to catastrophic backtracking (ReDoS — Regular Expression Denial of
Service). When GitPython parses the author or committer header of a git commit
object that contains a long string with an unterminated < (no matching >), the
Python regex engine enters quadratic backtracking, causing complete single-threaded
CPU exhaustion proportional to the square of the input length.
A single crafted commit object can block any GitPython API call that reads
.author or .committer for over two minutes per invocation, enabling denial
of service against CI runners, code-hosting backends, repository-scanning
pipelines, or any service that processes commits from third-party or untrusted
repositories.
Details
Vulnerable file and line:
git/util.py, line 863:
name_email_regex = re.compile(r"(.*) <(.*?)>")
This regex is evaluated inside Actor._from_string() (line 909) every time
GitPython resolves a commit's .author or .committer property.
Full call chain — from public API to vulnerable sink:
commit.author # any ordinary GitPython API call └── git/objects/commit.py:917 Commit._deserialize() └── git/objects/util.py:341 parse_actor_and_date(author_line) └── git/util.py:909 Actor._from_string(string) └── Actor.name_email_regex.search(string) ← VULNERABLE
author_line is decoded directly from the raw bytes of the git commit object with
no length limit, character restriction, or timeout applied at any point before
reaching the regex engine. The same chain is triggered by:
commit.authorcommit.committerrepo.iter_commits()repo.blame()- Any web service / CI tool that displays or processes commit metadata
Why this pattern backtracks catastrophically:
The pattern (.*) <(.*?)> contains an unbounded greedy group (.*) followed by
a literal space and <. When the input is a long string that contains < but no
closing >, the regex engine must try every possible split position for the greedy
group — O(n²) candidate positions for a string of length n — each of which then
drives the inner lazy group into further sub-match attempts. This is the
well-documented "catastrophic backtracking" failure mode for this family of
patterns.
Empirically measured scaling (tested against GitPython 3.1.59, commit 52a6cba):
| Author field length (bytes) | Time to resolve .author |
|-----------------------------|--------------------------|
| 1,000 | 0.0035 s |
| 5,000 | 0.084 s |
| 10,000 | 0.341 s |
| 20,000 | 1.525 s |
| 40,000 | 5.963 s |
| 60,000 | 13.360 s |
| 80,000 | 23.871 s |
| 200,000 | 150.488 s |
Each doubling of input size roughly quadruples processing time (e.g. 40,000 → 80,000 bytes: 5.96 s → 23.87 s ≈ 4.0×), confirming O(n²) growth. Git itself imposes no practical size limit on author name fields in the object format.
How the malicious object reaches a victim:
The PoC creates the commit object as a correctly SHA-1-hashed, zlib-compressed git
loose object written directly into .git/objects/. git cat-file -t <sha> confirms
it is a valid commit type and git's own read-side tools display it without error.
Only git's write-side tooling (git commit --author, git update-index,
explicit git fsck) applies the sanity checks that would reject a malformed author
line. Delivery paths that bypass those checks include:
- A git server with
receive.fsckObjects = false(common in self-hosted deployments) - A
.gitdirectory shipped as a tarball, backup, or zip archive - A git bundle file
- Any automated mirror or import tool that operates at the object level
PoC
Environment used for testing:
- GitPython 3.1.59, installed in editable mode from source (no code modifications)
- Python 3.12.3, git 2.43.0, Ubuntu 24.04
**Script 1 — craft the malicious repository…
- Record
GHSA-g5vv-9gxw-82hx- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-1333
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-qpf5-3wfw-fh7q
8.7
Duplicate Advisory: Denial of Service via catastrophic backtracking (ReDoS) in Actor.name_email_regex — commit author/committer field parsing
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-g5vv-9gxw-82hx. This link is maintained to preserve external references.
Original Description
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
GHSA-qpf5-3wfw-fh7q- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
NVD
8.7
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
CVE-2026-87819- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
OSV
8.7
GitPython before 3.1.60 Denial of Service via ReDoS
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
CVE-2026-87819- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-1333
- Updated
- 2026-11-02
Show 14 moreShow less
OSVDEBIAN-CVE-2026-87819
8.7
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
DEBIAN-CVE-2026-87819- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVGHSA-g5vv-9gxw-82hx
7.5
GitPython: Denial of Service via catastrophic backtracking (ReDoS) in Actor.name_email_regex — commit author/committer field parsing
Summary
GitPython's Actor.name_email_regex regular expression (git/util.py, line 863)
is vulnerable to catastrophic backtracking (ReDoS — Regular Expression Denial of
Service). When GitPython parses the author or committer header of a git commit
object that contains a long string with an unterminated < (no matching >), the
Python regex engine enters quadratic backtracking, causing complete single-threaded
CPU exhaustion proportional to the square of the input length.
A single crafted commit object can block any GitPython API call that reads
.author or .committer for over two minutes per invocation, enabling denial
of service against CI runners, code-hosting backends, repository-scanning
pipelines, or any service that processes commits from third-party or untrusted
repositories.
Details
Vulnerable file and line:
git/util.py, line 863:
name_email_regex = re.compile(r"(.*) <(.*?)>")
This regex is evaluated inside Actor._from_string() (line 909) every time
GitPython resolves a commit's .author or .committer property.
Full call chain — from public API to vulnerable sink:
commit.author # any ordinary GitPython API call └── git/objects/commit.py:917 Commit._deserialize() └── git/objects/util.py:341 parse_actor_and_date(author_line) └── git/util.py:909 Actor._from_string(string) └── Actor.name_email_regex.search(string) ← VULNERABLE
author_line is decoded directly from the raw bytes of the git commit object with
no length limit, character restriction, or timeout applied at any point before
reaching the regex engine. The same chain is triggered by:
commit.authorcommit.committerrepo.iter_commits()repo.blame()- Any web service / CI tool that displays or processes commit metadata
Why this pattern backtracks catastrophically:
The pattern (.*) <(.*?)> contains an unbounded greedy group (.*) followed by
a literal space and <. When the input is a long string that contains < but no
closing >, the regex engine must try every possible split position for the greedy
group — O(n²) candidate positions for a string of length n — each of which then
drives the inner lazy group into further sub-match attempts. This is the
well-documented "catastrophic backtracking" failure mode for this family of
patterns.
Empirically measured scaling (tested against GitPython 3.1.59, commit 52a6cba):
| Author field length (bytes) | Time to resolve .author |
|-----------------------------|--------------------------|
| 1,000 | 0.0035 s |
| 5,000 | 0.084 s |
| 10,000 | 0.341 s |
| 20,000 | 1.525 s |
| 40,000 | 5.963 s |
| 60,000 | 13.360 s |
| 80,000 | 23.871 s |
| 200,000 | 150.488 s |
Each doubling of input size roughly quadruples processing time (e.g. 40,000 → 80,000 bytes: 5.96 s → 23.87 s ≈ 4.0×), confirming O(n²) growth. Git itself imposes no practical size limit on author name fields in the object format.
How the malicious object reaches a victim:
The PoC creates the commit object as a correctly SHA-1-hashed, zlib-compressed git
loose object written directly into .git/objects/. git cat-file -t <sha> confirms
it is a valid commit type and git's own read-side tools display it without error.
Only git's write-side tooling (git commit --author, git update-index,
explicit git fsck) applies the sanity checks that would reject a malformed author
line. Delivery paths that bypass those checks include:
- A git server with
receive.fsckObjects = false(common in self-hosted deployments) - A
.gitdirectory shipped as a tarball, backup, or zip archive - A git bundle file
- Any automated mirror or import tool that operates at the object level
PoC
Environment used for testing:
- GitPython 3.1.59, installed in editable mode from source (no code modifications)
- Python 3.12.3, git 2.43.0, Ubuntu 24.04
**Script 1 — craft the malicious repository…
- Record
GHSA-g5vv-9gxw-82hx- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333, CWE-400
- Updated
- 2026-11-02
OSVGHSA-qpf5-3wfw-fh7q
8.7
Duplicate Advisory: Denial of Service via catastrophic backtracking (ReDoS) in Actor.name_email_regex — commit author/committer field parsing
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-g5vv-9gxw-82hx. This link is maintained to preserve external references.
Original Description
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
GHSA-qpf5-3wfw-fh7q- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333
- Updated
- 2026-11-02
OSVOESA-2026-4025
8.8
python-GitPython security update
**GitPython*is a python library used to interact with Git repositories.GitPython provides object model read and write access to your git repository. Access repository information conveniently, alter the index directly, handle remotes, or go down to low-level object database access with big-files support.With the new object database abstraction added in 0.3, its even possible to implement your own storage mechanisms, the currently available implementations are 'cgit' and pure python, which is the default.Documentation The latest documentation can be found here: As this version of GitPython depends on GitDB, which in turn needs smmap to work, installation is a bit more involved if you do a manual installation, instead of using pip.
Security Fix(es):
GitPython before 3.1.60 fails to properly validate the git directory location, allowing attackers to impersonate the git directory using tracked files like gitdir, commondir, and HEAD. Attackers can execute arbitrary code by placing a malicious pre-commit hook in the tracked hooks directory that executes when a victim calls index.commit() on a cloned or opened repository.(CVE-2026-87817)
GitPython 3.1.59 fails to restrict the --no-index option in the high-level diff API, allowing attackers to read arbitrary filesystem paths as repository operands. Attackers can combine --no-index with -I/--ignore-matching-lines to create a content-dependent Boolean oracle, repeatedly querying local files to recover single-line secrets through distinguishable success or error responses.(CVE-2026-87818)
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.(CVE-2026-87819)
- Record
OESA-2026-4025- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVOESA-2026-4026
8.8
python-GitPython security update
**GitPython*is a python library used to interact with Git repositories.GitPython provides object model read and write access to your git repository. Access repository information conveniently, alter the index directly, handle remotes, or go down to low-level object database access with big-files support.With the new object database abstraction added in 0.3, its even possible to implement your own storage mechanisms, the currently available implementations are 'cgit' and pure python, which is the default.Documentation The latest documentation can be found here: As this version of GitPython depends on GitDB, which in turn needs smmap to work, installation is a bit more involved if you do a manual installation, instead of using pip.
Security Fix(es):
GitPython before 3.1.60 fails to properly validate the git directory location, allowing attackers to impersonate the git directory using tracked files like gitdir, commondir, and HEAD. Attackers can execute arbitrary code by placing a malicious pre-commit hook in the tracked hooks directory that executes when a victim calls index.commit() on a cloned or opened repository.(CVE-2026-87817)
GitPython 3.1.59 fails to restrict the --no-index option in the high-level diff API, allowing attackers to read arbitrary filesystem paths as repository operands. Attackers can combine --no-index with -I/--ignore-matching-lines to create a content-dependent Boolean oracle, repeatedly querying local files to recover single-line secrets through distinguishable success or error responses.(CVE-2026-87818)
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.(CVE-2026-87819)
- Record
OESA-2026-4026- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVOESA-2026-4027
8.8
python-GitPython security update
**GitPython*is a python library used to interact with Git repositories.GitPython provides object model read and write access to your git repository. Access repository information conveniently, alter the index directly, handle remotes, or go down to low-level object database access with big-files support.With the new object database abstraction added in 0.3, its even possible to implement your own storage mechanisms, the currently available implementations are 'cgit' and pure python, which is the default.Documentation The latest documentation can be found here: As this version of GitPython depends on GitDB, which in turn needs smmap to work, installation is a bit more involved if you do a manual installation, instead of using pip.
Security Fix(es):
GitPython before 3.1.60 fails to properly validate the git directory location, allowing attackers to impersonate the git directory using tracked files like gitdir, commondir, and HEAD. Attackers can execute arbitrary code by placing a malicious pre-commit hook in the tracked hooks directory that executes when a victim calls index.commit() on a cloned or opened repository.(CVE-2026-87817)
GitPython 3.1.59 fails to restrict the --no-index option in the high-level diff API, allowing attackers to read arbitrary filesystem paths as repository operands. Attackers can combine --no-index with -I/--ignore-matching-lines to create a content-dependent Boolean oracle, repeatedly querying local files to recover single-line secrets through distinguishable success or error responses.(CVE-2026-87818)
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.(CVE-2026-87819)
- Record
OESA-2026-4027- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVPYSEC-2026-3984
7.5
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
PYSEC-2026-3984- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:71113
9.9
Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update
- Record
RHSA-2026:71113- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:71114
9.9
Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.5 Product Security and Bug Fix Update
- Record
RHSA-2026:71114- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-87819
8.7
GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.
- Record
UBUNTU-CVE-2026-87819- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1790833527 No score
TuxCare security update for gitpython (3 CVEs)
TuxCare rebuilt gitpython to address 3 CVEs. Fixed in 3.1.31.post14+tuxcare.
- Record
CLSA-2026-1790833527- Updated
- 2026-11-02
OSVMGASA-2026-0450 No score
Updated python-gitpython packages fix security vulnerabilities
Denial of Service via catastrophic backtracking (ReDoS) in
Actor.name_email_regex — commit author/committer field parsing
Repository content can impersonate the git directory, leading to
arbitrary code execution
Residual of GHSA-hmq2-w58f-27jc: the fix validates the .gitmodules
name but the sibling path field still reaches os.makedirs()
unguarded, although GitPython already owns the containment guard
- Record
MGASA-2026-0450- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21874-1 No score
Security update for python-GitPython
This update for python-GitPython fixes the following issues:
- CVE-2026-67322: environment-variable exfiltration in
Repo.clone_from()URL via os.path.expandvars() (bsc#1273357). - CVE-2026-67323: unguarded Git options passed as keyword arguments in
Repo.archive()andgit.ls_remote()allow for command injection (bsc#1273358). - CVE-2026-67325: incomplete command injection blocklist fails to account for git's long-option prefix abbreviation feature and allows for bypass (bsc#1273359).
- CVE-2026-67326: failure to validate newline characters in the section parameter of
config_writer()can lead to RCE viacore.hooksPath(bsc#1273364). - CVE-2026-69097: failure to properly escape section names in Git
configfiles allows for injection of arbitrary configuration directives through malicious submodule names and can lead to RCE (bsc#1273414). - CVE-2026-73619: incomplete denylist in the
unsafe_git_archive_optionsguard that omits--add-fileand--add- virtual-fileoptions can lead to arbitrary file reads (bsc#1275755). - CVE-2026-73620: failure to guard Git option forwarding in
IndexFile.checkout()andTagReference.create()can lead to arbitrary file reads and writes (bsc#1275756). - CVE-2026-73621: argument injection in the
Commit.count()method allows for destruction/blanking of arbitrary files (bsc#1275757). - CVE-2026-73622: failure to disable environment variable expansion in
Remote.create()andSubmodule.add()URL handling allows for secret exfiltration via URLs containing variable references (bsc#1275751). - CVE-2026-73623: incomplete denylist in
unsafe_git_clone_optionsthat omits--templateallows for arbitrary command execution (bsc#1275752). - CVE-2026-73624:
Diffable.diffmethod fails to validate git options passed throughkwargs, which can lead to arbitrary file writes (bsc#1275753). - CVE-2026-73625:
check_unsafe_optionsguard bypass via smuggling of git options inside single-characterkwargvalues can lead to arbitrary code execution (bsc#1275754). - CVE-2026-76217: failure to validate options passed to
git rmandgit checkoutcommands inIndexFile.remove()andHead.checkout()can lead to arbitrary file reads (bsc#1275745). - CVE-2026-76218: unguarded git option forwarding in
Repo.initallows for arbitrary command execution (bsc#1275746). - CVE-2026-76219: unguarded
git read-treeoption forwarding inIndexFile.from_tree/reset/merge_treecan lead to arbitrary file overwrites (bsc#1275747). - CVE-2026-76220:
check_unsafe_optionsguard can be bypassed by combining a single-characterkwargwithsplit_single_char_options=False, which can lead to arbitrary OS command injection (bsc#1275748). - CVE-2026-76221:
config-nameinjection in theoption-namevalidator can lead to remote code execution (bsc#1275749). - CVE-2026-76222: failure to validate submodule names from
.gitmodulesfiles allows creation of Git repositories at arbitrary filesystem paths outside the intended clone directory (bsc#1275750). - CVE-2026-78675: failure to disable
merge_includeswhen parsing.gitmodulescan lead to discloseure of local file contents when arbitrary file paths are included via[include]directives (bsc#1276434). - CVE-2026-78676: failure to safely re-serialize multi-line
git-configvalues during write operations can corrupt dormant quoted values into live injected directives (bsc#1276433). - CVE-2026-78677: omission of
--separate-git-dirfromunsafe_git_clone_optionsallows for creation of arbitrary git directories outside the intended clone destination (bsc#1276432). - CVE-2026-78678: incomplete denylist in the
unsafe_git_revision_optionsguard that omits--contentsand-Soptions allows for reading of arbitrary files when these options to are passed toRepo.blame()(bsc#1276431). - CVE-2026-78679: positional reference parameter can bypass an unsafe option guard and allows for arbitrary file read via…
- Record
openSUSE-SU-2026:21874-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4191-1 No score
Security update for python-GitPython
This update for python-GitPython fixes the following issues:
- CVE-2026-87817: failure to properly validade the git directory location allows attackers to impersonate the git directory using tracked files and execute arbitrary code by placing pre-commit hooks in the tracked hooks directory (bsc#1279905).
- CVE-2026-87818: failure to restrict the
--no-indexoption in the high-level diff API allows attackers to read arbitrary filesystem paths as repository operands and create content-dependent Boolean oracles (bsc#1279906). - CVE-2026-87819: quadratic backtracking in the
Actor.name_email_regexregular expression allows attackers to cause CPU exhaustion and a DoS via a commit with a malformed author field (bsc#1279907).
- Record
SUSE-SU-2026:4191-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
gitpythonPyPI |
through 3.1.59 | 3.1.60 |
gitpythonTuxCare:PyPI From an advisory covering 2 CVEs |
3.1.31 up to 3.1.31.post14+tuxcare, plus listed versions 3.1.31.post1+tuxcare3.1.31.post10+tuxcare3.1.31.post11+tuxcare3.1.31.post12+tuxcare3.1.31.post13+tuxcare Show 8 moreShow less3.1.31.post2+tuxcare3.1.31.post3+tuxcare3.1.31.post4+tuxcare3.1.31.post5+tuxcare3.1.31.post6+tuxcare3.1.31.post7+tuxcare3.1.31.post8+tuxcare3.1.31.post9+tuxcare |
3.1.31.post14+tuxcare |
python-gitDebian:12 |
before 3.1.30-1+deb12u3, plus listed versions 3.1.30-13.1.30-1+deb12u2 |
3.1.30-1+deb12u3 |
python-gitDebian:13 |
before 3.1.44-1+deb13u1, plus listed versions 3.1.44-1 |
3.1.44-1+deb13u1 |
python-gitDebian:14 |
before 3.1.61-1, plus listed versions 3.1.44-13.1.45-13.1.46-13.1.50-1 |
3.1.61-1 |
gitpythonPyPI |
before 3.1.60, plus listed versions 0.1.70.2.0-beta10.3.0-beta10.3.0-beta20.3.1-beta2 Show 45 moreShow less0.3.20.3.2.10.3.2.RC10.3.30.3.40.3.50.3.60.3.71.0.01.0.11.0.22.0.02.0.12.0.22.0.32.0.42.0.52.0.62.0.72.0.82.0.92.0.9.dev02.0.9.dev12.1.02.1.12.1.102.1.112.1.122.1.132.1.142.1.152.1.22.1.32.1.42.1.52.1.62.1.72.1.82.1.93.0.03.0.13.0.23.0.33.0.43.0.5 |
3.1.60 |
python-gitpythonMageia:10 |
before 3.1.62-1.mga10 | 3.1.62-1.mga10 |
python-gitpythonMageia:9 |
before 3.1.62-1.mga9 | 3.1.62-1.mga9 |
python-GitPythonopenEuler:24.03-LTS-SP1 From an advisory covering 3 CVEs |
before 3.1.59-2.oe2403sp1 | 3.1.59-2.oe2403sp1 |
python-GitPythonopenEuler:24.03-LTS-SP3 From an advisory covering 3 CVEs |
before 3.1.59-2.oe2403sp3 | 3.1.59-2.oe2403sp3 |
Show 58 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-GitPythonopenEuler:24.03-LTS-SP4 From an advisory covering 3 CVEs |
before 3.1.59-2.oe2403sp4 | 3.1.59-2.oe2403sp4 |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
receptorRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el10ap | 0:1.6.8-1.el10ap |
receptorRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
receptorRed Hat:ansible_automation_platform_inside:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
automation-gateway-proxy-serverRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:2.6.17-3.el9ap | 0:2.6.17-3.el9ap |
receptorRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
python-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python-sqlparseRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3-sqlparseRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3.12-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
python3.12-sqlparseRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
automation-platform-uiRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:2.6.14-1.el9ap | 0:2.6.14-1.el9ap |
automation-controllerRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-cliRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controllerRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-cliRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-serverRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-uiRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
python3.12-gitpythonRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:3.1.60-1.el9ap | 0:3.1.60-1.el9ap |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:4.6.33-1.el8ap | 0:4.6.33-1.el8ap |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:4.6.33-1.el9ap | 0:4.6.33-1.el9ap |
receptorRed Hat:ansible_automation_platform_developer:2.5::el8 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el8ap | 0:1.6.8-1.el8ap |
receptorRed Hat:ansible_automation_platform_inside:2.5::el8 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el8ap | 0:1.6.8-1.el8ap |
automation-gateway-proxy-serverRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:2.5.10-8.el8ap | 0:2.5.10-8.el8ap |
receptorRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el8ap | 0:1.6.8-1.el8ap |
receptorRed Hat:ansible_automation_platform_developer:2.5::el9 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
receptorRed Hat:ansible_automation_platform_inside:2.5::el9 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
automation-gateway-proxy-serverRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:2.6.17-3.el9ap | 0:2.6.17-3.el9ap |
receptorRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
python3.12-sqlparseRed Hat:ansible_automation_platform_developer:2.5::el8 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el8ap | 0:0.6.0-1.el8ap |
python3.12-sqlparseRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el8ap | 0:0.6.0-1.el8ap |
python3.12-sqlparseRed Hat:ansible_automation_platform_developer:2.5::el9 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
python3.12-sqlparseRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
automation-gateway-serverRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:2.5.20260923-1.el8ap | 0:2.5.20260923-1.el8ap |
automation-gateway-serverRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:2.5.20260923-1.el9ap | 0:2.5.20260923-1.el9ap |
python3.12-gitpythonRed Hat:ansible_automation_platform:2.5::el8 From an advisory covering 57 CVEs |
before 0:3.1.60-1.el8ap | 0:3.1.60-1.el8ap |
python3.12-gitpythonRed Hat:ansible_automation_platform:2.5::el9 From an advisory covering 57 CVEs |
before 0:3.1.60-1.el9ap | 0:3.1.60-1.el9ap |
python-GitPythonSUSE:Linux Enterprise Module for Python 3 15 SP7 From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise Server for SAP Applications 15 SP4 From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-GitPythonSUSE:Linux Enterprise Server for SAP Applications 15 SP6 From an advisory covering 3 CVEs |
before 3.1.34.1693646983.2a2ae77-150400.9.11.1 | 3.1.34.1693646983.2a2ae77-150400.9.11.1 |
python-gitUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 0.3.2~RC1-20.3.2~RC1-30.3.2~RC1-3ubuntu0.1~esm10.3.2~RC1-3ubuntu0.1~esm20.3.2~RC1-3ubuntu0.1~esm3 |
None known |
python-gitUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.0.1+git137-gc8b8379-11.0.1+git137-gc8b8379-21.0.1+git137-gc8b8379-2.11.0.1+git137-gc8b8379-2.1ubuntu0.1~esm11.0.1+git137-gc8b8379-2.1ubuntu0.1~esm21.0.1+git137-gc8b8379-2.1ubuntu0.1~esm4 |
None known |
python-gitUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 2.1.5-12.1.6-12.1.7-12.1.8-12.1.8-1ubuntu0.1~esm12.1.8-1ubuntu0.1~esm22.1.8-1ubuntu0.1~esm4 |
None known |
python-gitUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 2.1.11-13.0.4-13.0.5-13.0.7-13.0.7-1ubuntu0.1~esm13.0.7-1ubuntu0.1~esm23.0.7-1ubuntu0.1~esm4 |
None known |
python-gitUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 3.1.14-13.1.23-13.1.24-13.1.24-1ubuntu0.1~esm13.1.24-1ubuntu0.1~esm23.1.24-1ubuntu0.1~esm3 |
None known |
python-gitUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 3.1.30-13.1.37-13.1.37-33.1.37-3ubuntu0.1~esm2 |
None known |
python-gitUbuntu:Pro:26.04:LTS |
All versions, plus listed versions 3.1.44-13.1.45-13.1.46-13.1.46-1ubuntu0.1~esm1 |
None known |
python-GitPythonopenSUSE:Leap 16.0 From an advisory covering 26 CVEs |
before 3.1.44-160000.4.1 | 3.1.44-160000.4.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-87819 is a high vulnerability (CVSS 8.7) in Gitpython-developers Gitpython, published September 9, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.52%, the 44th percentile. Fixed in gitpython 3.1.60.
References
github.com/gitpython-developers/GitPython/security/advisories/GHSA-g5vv-9gxw-82hx
vulncheck.com/advisories/gitpython-before-3.1.60-denial-of-service-via-redos
github.com/gitpython-developers/GitPython/pull/2215
github.com/gitpython-developers/GitPython/commit/751473a5f3221d6f989291cbebcc404353fd3ba8
github.com/gitpython-developers/GitPython/releases/tag/3.1.60
github.com/pypa/advisory-database/tree/main/vulns/gitpython/PYSEC-2026-3984.yaml
Show 194 moreShow less
github.com/advisories/GHSA-g5vv-9gxw-82hx
nvd.nist.gov/vuln/detail/CVE-2026-87819
github.com/advisories/GHSA-qpf5-3wfw-fh7q
github.com/CVEProject/cvelistV5/tree/main/cves/2026/87xxx/CVE-2026-87819.json
security-tracker.debian.org/tracker/CVE-2026-87819
github.com/gitpython-developers/GitPython
advisories.mageia.org/MGASA-2026-0450.html
bugs.mageia.org/show_bug.cgi?id=36236
lists.fedoraproject.org/archives/list/[email protected]/message/BDOHJYCCKJJIA7ROKB3WUA4RCPF3K4XD
github.com/gitpython-developers/GitPython/security/advisories/GHSA-239g-whfq-7xj9
lists.fedoraproject.org/archives/list/[email protected]/message/6CXBNC2IT6FI6BVCJONOLKTNTJK7K4A5
github.com/gitpython-developers/GitPython/security/advisories/GHSA-59cr-6r3x-644w
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4025
nvd.nist.gov/vuln/detail/CVE-2026-87817
nvd.nist.gov/vuln/detail/CVE-2026-87818
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4026
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4027
access.redhat.com/errata/RHSA-2026:71113
access.redhat.com/security/updates/classification
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/whats_new-async_updates
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6
bugzilla.redhat.com/show_bug.cgi?id=2484204
bugzilla.redhat.com/show_bug.cgi?id=2490556
bugzilla.redhat.com/show_bug.cgi?id=2498122
bugzilla.redhat.com/show_bug.cgi?id=2508411
bugzilla.redhat.com/show_bug.cgi?id=2509975
bugzilla.redhat.com/show_bug.cgi?id=2509976
bugzilla.redhat.com/show_bug.cgi?id=2510021
bugzilla.redhat.com/show_bug.cgi?id=2510719
bugzilla.redhat.com/show_bug.cgi?id=2512367
bugzilla.redhat.com/show_bug.cgi?id=2512368
bugzilla.redhat.com/show_bug.cgi?id=2512369
bugzilla.redhat.com/show_bug.cgi?id=2512371
bugzilla.redhat.com/show_bug.cgi?id=2512372
bugzilla.redhat.com/show_bug.cgi?id=2512374
bugzilla.redhat.com/show_bug.cgi?id=2512375
bugzilla.redhat.com/show_bug.cgi?id=2514175
bugzilla.redhat.com/show_bug.cgi?id=2515815
bugzilla.redhat.com/show_bug.cgi?id=2515820
bugzilla.redhat.com/show_bug.cgi?id=2515827
bugzilla.redhat.com/show_bug.cgi?id=2515838
bugzilla.redhat.com/show_bug.cgi?id=2515839
bugzilla.redhat.com/show_bug.cgi?id=2515840
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_71113.json
access.redhat.com/security/cve/CVE-2026-12564
cve.org/CVERecord?id=CVE-2026-12564
nvd.nist.gov/vuln/detail/CVE-2026-12564
access.redhat.com/security/cve/CVE-2026-33818
cve.org/CVERecord?id=CVE-2026-33818
nvd.nist.gov/vuln/detail/CVE-2026-33818
go.dev/cl/814980
go.dev/issue/80405
groups.google.com/g/golang-announce/c/94pEornpRlI
pkg.go.dev/vuln/GO-2026-5972
access.redhat.com/security/cve/CVE-2026-42504
cve.org/CVERecord?id=CVE-2026-42504
nvd.nist.gov/vuln/detail/CVE-2026-42504
go.dev/cl/774481
go.dev/issue/79217
groups.google.com/g/golang-announce/c/tKs3rmcBcKw
pkg.go.dev/vuln/GO-2026-5038
access.redhat.com/security/cve/CVE-2026-54284
cve.org/CVERecord?id=CVE-2026-54284
nvd.nist.gov/vuln/detail/CVE-2026-54284
github.com/andialbrecht/sqlparse/commit/939b129e24c0ad5d51368b1aa72fffcaca76f06f
github.com/andialbrecht/sqlparse/security/advisories/GHSA-pwgv-4x5q-6m9f
access.redhat.com/security/cve/CVE-2026-56853
cve.org/CVERecord?id=CVE-2026-56853
nvd.nist.gov/vuln/detail/CVE-2026-56853
go.dev/cl/795540
go.dev/issue/80205
pkg.go.dev/vuln/GO-2026-6089
access.redhat.com/security/cve/CVE-2026-56858
cve.org/CVERecord?id=CVE-2026-56858
nvd.nist.gov/vuln/detail/CVE-2026-56858
go.dev/cl/807100
go.dev/issue/80435
pkg.go.dev/vuln/GO-2026-6091
access.redhat.com/security/cve/CVE-2026-56859
cve.org/CVERecord?id=CVE-2026-56859
nvd.nist.gov/vuln/detail/CVE-2026-56859
go.dev/cl/803320
go.dev/issue/80481
pkg.go.dev/vuln/GO-2026-6088
access.redhat.com/security/cve/CVE-2026-56860
cve.org/CVERecord?id=CVE-2026-56860
nvd.nist.gov/vuln/detail/CVE-2026-56860
go.dev/cl/803681
go.dev/issue/80494
pkg.go.dev/vuln/GO-2026-6218
access.redhat.com/security/cve/CVE-2026-56862
cve.org/CVERecord?id=CVE-2026-56862
nvd.nist.gov/vuln/detail/CVE-2026-56862
go.dev/cl/804261
go.dev/issue/80528
pkg.go.dev/vuln/GO-2026-6090
access.redhat.com/security/cve/CVE-2026-59869
cve.org/CVERecord?id=CVE-2026-59869
nvd.nist.gov/vuln/detail/CVE-2026-59869
github.com/nodeca/js-yaml/commit/24f13e79ee1343a7e30bd6f6c9d9cdbf0ac9b2b7
github.com/nodeca/js-yaml/commit/59423c6f8cdc78742ac00e25a4dd39ef16b702e4
github.com/nodeca/js-yaml/releases/tag/3.15.0
github.com/nodeca/js-yaml/releases/tag/4.3.0
github.com/nodeca/js-yaml/security/advisories/GHSA-52cp-r559-cp3m
access.redhat.com/security/cve/CVE-2026-59893
cve.org/CVERecord?id=CVE-2026-59893
nvd.nist.gov/vuln/detail/CVE-2026-59893
github.com/andialbrecht/sqlparse/commit/d1d80602741f77ec78e5a04ce4719244cf32352e
github.com/andialbrecht/sqlparse/security/advisories/GHSA-prg7-hcfm-mfcr
access.redhat.com/security/cve/CVE-2026-67214
cve.org/CVERecord?id=CVE-2026-67214
nvd.nist.gov/vuln/detail/CVE-2026-67214
github.com/ai/nanoid/commit/6ccc67bbaba71d3d77a21d9b636f4171a268ce49
github.com/ai/nanoid/releases/tag/5.1.16
vulncheck.com/advisories/nanoid-before-infinite-loop-via-negative-size-in-non-secure-module
access.redhat.com/security/cve/CVE-2026-67322
cve.org/CVERecord?id=CVE-2026-67322
nvd.nist.gov/vuln/detail/CVE-2026-67322
vulncheck.com/advisories/gitpython-before-environment-variable-exfiltration-via-clone-from
access.redhat.com/security/cve/CVE-2026-67323
cve.org/CVERecord?id=CVE-2026-67323
nvd.nist.gov/vuln/detail/CVE-2026-67323
vulncheck.com/advisories/gitpython-before-command-injection-via-unguarded-git-options
access.redhat.com/security/cve/CVE-2026-67325
cve.org/CVERecord?id=CVE-2026-67325
nvd.nist.gov/vuln/detail/CVE-2026-67325
vulncheck.com/advisories/gitpython-before-command-injection-via-option-prefix-abbreviation
access.redhat.com/security/cve/CVE-2026-69153
cve.org/CVERecord?id=CVE-2026-69153
nvd.nist.gov/vuln/detail/CVE-2026-69153
access.redhat.com/security/cve/CVE-2026-71458
cve.org/CVERecord?id=CVE-2026-71458
nvd.nist.gov/vuln/detail/CVE-2026-71458
access.redhat.com/security/cve/CVE-2026-71459
cve.org/CVERecord?id=CVE-2026-71459
nvd.nist.gov/vuln/detail/CVE-2026-71459
access.redhat.com/security/cve/CVE-2026-71460
cve.org/CVERecord?id=CVE-2026-71460
nvd.nist.gov/vuln/detail/CVE-2026-71460
access.redhat.com/security/cve/CVE-2026-71462
cve.org/CVERecord?id=CVE-2026-71462
cve.org/CVERecord?id=CVE-2026-71463
cve.org/CVERecord?id=CVE-2026-71464
vulncheck.com/advisories/dompurify-before-cross-site-scripting-via-in-place-hook
vulncheck.com/advisories/gitpython-before-arbitrary-file-read-via-tagreference-create
vulncheck.com/advisories/gitpython-before-3.1.60-remote-code-execution-via-git-directory-impersonation
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/release_notes/patch_releases
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_71114.json
suse.com/support/update/announcement/2026/suse-su-20264191-1
bugzilla.suse.com/1279905
bugzilla.suse.com/1279906
bugzilla.suse.com/1279907
suse.com/security/cve/CVE-2026-87817
suse.com/security/cve/CVE-2026-87818
suse.com/security/cve/CVE-2026-87819
ubuntu.com/security/CVE-2026-87819
bugzilla.suse.com/1273357
bugzilla.suse.com/1273358
bugzilla.suse.com/1273359
bugzilla.suse.com/1273364
bugzilla.suse.com/1273414
bugzilla.suse.com/1273498
bugzilla.suse.com/1275745
bugzilla.suse.com/1275746
bugzilla.suse.com/1275747
bugzilla.suse.com/1275748
bugzilla.suse.com/1275749
bugzilla.suse.com/1275750
bugzilla.suse.com/1275751
bugzilla.suse.com/1275752
bugzilla.suse.com/1275753
bugzilla.suse.com/1275754
bugzilla.suse.com/1275755
bugzilla.suse.com/1275756
bugzilla.suse.com/1275757
suse.com/security/cve/CVE-2026-67322
suse.com/security/cve/CVE-2026-67323
suse.com/security/cve/CVE-2026-67325
suse.com/security/cve/CVE-2026-67326
suse.com/security/cve/CVE-2026-69097
suse.com/security/cve/CVE-2026-73619
suse.com/security/cve/CVE-2026-73620
suse.com/security/cve/CVE-2026-73621
suse.com/security/cve/CVE-2026-73622
suse.com/security/cve/CVE-2026-73623
suse.com/security/cve/CVE-2026-73624
suse.com/security/cve/CVE-2026-73625
suse.com/security/cve/CVE-2026-76217
suse.com/security/cve/CVE-2026-76218
suse.com/security/cve/CVE-2026-76219
suse.com/security/cve/CVE-2026-76220
suse.com/security/cve/CVE-2026-76221
suse.com/security/cve/CVE-2026-76222
Left out here: 62 versions, 206 references and the rest of 3 source descriptions. The JSON record has them.