Skip to main content
CVE-2026-110858VulnerabilityPublished

Tartufo: GitPython Remote.pull() refspec bypasses the --upload-pack unsafe-option guard, enabling arbitrary command

Affects tartufoSource GCVE Database

0
Compare
Authoritative record:CVE-2026-110858· Critical 9.2

Not known to be exploited · CVSS 9.2 Critical.

Data as of 30 Oct 2026, 06:59 UTC

CVSS 4.0 base score
9.2Critical
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.4% chance of exploitation in 30 days – higher than 40% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 14 Oct 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.

What to do

Affected software

ProductAffectedFixed in
Homebrewtartufopkg:brew/tartufoOther threatsAffected
  • >=5.0.0
Fixed in–

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Until a fix is available, avoid passing untrusted or attacker-controlled data as the positional refspec argument to Remote.pull(). Prefer using keyword arguments for options and validate or sanitize any user-supplied refspec values before use. Consider restricting usage of local-path or SSH transports in environments where untrusted input might reach this code path.

Description

GitPython's Remote.pull() method improperly handles its positional refspec argument, allowing an attacker to inject a crafted --upload-pack option that bypasses the unsafe-option guard. This leads to arbitrary command execution with the privileges of the calling process when using local-path or SSH transports. The vulnerability arises because the unsafe-option check only inspects keyword arguments, not positional ones, and git pull forwards the refspec to an internal git fetch without a separator, enabling the injected option to be executed.

References

Community reviews

Loading reviews…