GitHub, Hidden Commit Injection, CVE-2023-XXXX (High)

Listen to this Post

How the CVE Works

The vulnerability exploits GitHub’s incomplete validation of Git push packfiles. When a user pushes changes, GitHub’s proxy only verifies the `ref-update` line (oldOid → newOid) without inspecting the full packfile contents. The server runs `git rev-list oldOid..newOid` to track new commits but doesn’t enforce that the packfile exclusively contains those commits. Attackers can append additional (“hidden”) commits to the packfile, which GitHub stores and serves via direct SHA URLs—bypassing branch visibility. These commits remain accessible but don’t appear in repository history, enabling stealthy data exfiltration.

DailyCVE Form

Platform: GitHub
Version: Pre-patch
Vulnerability: Commit injection
Severity: High
Date: 2023-XX-XX

Prediction: Patch by Q4 2023

What Undercode Say

Analytics:

git rev-list --objects --no-object-names "^${ORIG_COMMIT}" ${NEW_COMMIT} > objects.txt
git pack-objects --stdout < objects.txt > packfile
curl -u ${USER}:"$(<~/.github-test-pat)" -X POST "${REMOTE_URL}/git-receive-pack" --data-binary @output

How Exploit

1. Clone target repo, create visible/hidden commits.

2. Push visible commit via `git push`.

  1. Craft malicious packfile with hidden commit using git pack-objects.

4. Send via `curl` to `git-receive-pack`.

Protection from this CVE

  • GitHub: Validate packfile contents match ref-update.
  • Users: Audit unreferenced commits via git fsck.

Impact

  • Confidentiality: Secret leaks via hidden commits.
  • Persistence: Commits remain until GC.
  • Detection: No UI traces.

No references provided in original .

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top