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).
https://www.vulncheck.com/advisories/gitpython-before-arbitrary-file-truncation-via-commit-count
https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-p538-c434-8v24
Published: 2026-08-13
Updated: 2026-08-13
Base Score: 5.5
Vector: CVSS2#AV:N/AC:L/Au:S/C:N/I:P/A:P
Severity: Medium
Base Score: 5.4
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
Severity: Medium
Base Score: 5.3
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Severity: Medium