CVE-2021-29417

9.8 CRITICAL

📋 TL;DR

CVE-2021-29417 is a critical directory traversal vulnerability in gitjacker versions before 0.1.0 that allows remote attackers to execute arbitrary code by exploiting a crafted .git directory. This affects systems running vulnerable versions of gitjacker, particularly those used for security testing or Git repository analysis. Attackers can leverage this to achieve remote code execution on affected systems.

💻 Affected Systems

Products:
  • gitjacker
Versions: All versions before 0.1.0
Operating Systems: All platforms where gitjacker runs
Default Config Vulnerable: ⚠️ Yes
Notes: gitjacker is a security tool for extracting Git repositories from misconfigured servers; vulnerable versions expose users to attack when scanning targets.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with attacker gaining complete control over the affected system, potentially leading to data theft, lateral movement, or deployment of ransomware.

🟠

Likely Case

Remote code execution allowing attackers to run arbitrary commands, steal sensitive data, or use the system as a foothold for further attacks.

🟢

If Mitigated

Limited impact with proper network segmentation and access controls preventing exploitation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires the attacker to control or manipulate a .git directory that gitjacker processes, making it particularly dangerous when scanning untrusted targets.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.1.0

Vendor Advisory: https://github.com/liamg/gitjacker/releases/tag/v0.1.0

Restart Required: No

Instructions:

1. Stop using gitjacker. 2. Update to version 0.1.0 or later using 'go get github.com/liamg/gitjacker@v0.1.0' or download from GitHub releases. 3. Verify the update with 'gitjacker --version'.

🔧 Temporary Workarounds

Disable gitjacker usage

all

Completely stop using gitjacker until patched to prevent exploitation.

sudo rm /usr/local/bin/gitjacker
Remove any gitjacker binaries from system

Restrict network access

all

Limit gitjacker to trusted networks only and avoid scanning untrusted targets.

Use firewall rules to restrict outbound connections from systems running gitjacker

🧯 If You Can't Patch

  • Isolate systems running gitjacker in a restricted network segment with no internet access
  • Implement strict input validation and monitoring for any gitjacker execution attempts

🔍 How to Verify

Check if Vulnerable:

Run 'gitjacker --version' and check if version is below 0.1.0. If command not found, check installed binaries for gitjacker.

Check Version:

gitjacker --version

Verify Fix Applied:

Run 'gitjacker --version' and confirm version is 0.1.0 or higher. Test with known safe .git directories to ensure proper path handling.

📡 Detection & Monitoring

Log Indicators:

  • Unusual process execution from gitjacker binary
  • Error logs showing directory traversal attempts
  • Unexpected network connections from gitjacker process

Network Indicators:

  • Outbound connections from gitjacker to unexpected destinations
  • HTTP requests to .git directories from gitjacker

SIEM Query:

process.name:"gitjacker" AND (process.cmdline:".." OR process.cmdline:".git")

🔗 References

📤 Share & Export