GitPython before 3.1.56 Arbitrary File Truncation via Commit.count
At a glance
Severity
MEDIUM 5.3
EPSS
EPSS 0.36 % · percentile 30 (2026-10-27)
State
PUBLISHED
Published
Updated
Assigner
VulnCheck
NVD status
Analyzed
Description
GitPython before 3.1.56 contains an argument injection vulnerability in the Commit.count() method, which forwards keyword arguments to 'git rev-list' without the check_unsafe_options guard present in the sibling iter_items method. An attacker who can control options passed to Commit.count (e.g., via an application that forwards a user-supplied options dict) can supply output=<path>, causing 'git rev-list --output=<path>' to open and truncate the target file to zero bytes before revision parsing. This allows destruction/blanking of an arbitrary file at the process's privilege level (no content control, 0-byte truncation).
GHSA-p538-c434-8v24 — GitPython: Arbitrary file truncation via git rev-list --output argument injection in unguarded Commit.count
PYSEC-2026-3950 — GitPython before 3.1.56 contains an argument injection vulnerability in the Commit.count() method, which forwards keyword arguments to 'git rev-list' without th