Celah Git CVE-2026-111760: Clone Rekursif Bisa Jalankan Kode Penyerang, Cek Versi dan Update Sekarang
Oleh Tim APIPedia, Tim Engineering APIPedia · Terbit · 9 menit baca
CVE-2026-111760 membuat git clone --recurse-submodules bisa menjalankan kode penyerang. Cek versi Git, update ke 2.56.1, dan amankan submodule.

CVE-2026-111760 adalah celah di Git yang membuat repositori berbahaya bisa menjalankan kode penyerang di komputer korban, cukup ketika korban melakukan clone rekursif beserta submodule-nya. Celah ini ditambal pada 10 November 2026 lewat Git 2.56.1 serta backport 2.50.2, 2.51.3, 2.52.1, 2.53.1, 2.54.1, dan 2.55.1, dengan skor CVSS 3.1 sebesar 8.0 (High).
Yang membuatnya penting: git clone --recurse-submodules adalah perintah sehari-hari developer, pipeline CI, dan tool yang membundel Git sendiri. Rilis yang sama juga menambal lima celah lain, termasuk satu yang menyasar server code hosting. Artikel ini membahas cara kerja celahnya, siapa yang terdampak, versi yang aman, cara mengecek mesin Anda, mitigasi sementara, dan cara mencari jejak submodule yang mencurigakan.
Ringkasan cepat: apa yang perlu Anda tahu?
| Item | Detail |
|---|---|
| ID | CVE-2026-111760 (advisory Git: GHSA-vp2w-7xxj-jvxr) |
| Jenis | Integer truncation saat Git menangani index; advisory tidak mencantumkan CWE |
| Dampak | Eksekusi kode lewat hook atau config berbahaya milik penyerang |
| Skor | CVSS 3.1: 8.0 High (AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H) |
| Pemicu | Clone rekursif (--recurse-submodules) dari repositori yang dikendalikan penyerang |
| Versi aman | 2.56.1, atau backport 2.50.2, 2.51.3, 2.52.1, 2.53.1, 2.54.1, 2.55.1 |
| Status | Patch tersedia sejak 10 November 2026; sumber yang kami baca tidak melaporkan eksploitasi aktif, dan celah ini tidak tercantum di berita KEV terbaru |
| Penemu | Rangkaian celah dikreditkan ke Luke Martin dan pwn2addr; perbaikan oleh Toon Claes, Karthik Nayak, dan Kaartic Sivaraam |
Bagaimana celah ini bekerja?
Git menyimpan daftar file yang dilacak di index. Menurut The Hacker News, celah ini berupa integer truncation pada penanganan index: path yang sangat panjang di dalam repositori bisa lolos pemeriksaan keamanan Git, tetapi kemudian ditulis ke disk dengan nama yang lebih pendek. Penyerang bisa mengatur agar nama pendek itu menjadi .git.
Celah ini berbahaya karena perilaku submodule. Git menolak mengganti folder .git dengan symbolic link, tetapi pada submodule yang baru di-clone, .git berupa file (gitfile). Release notes Git menjelaskan bahwa Git bisa dikelabui untuk menimpa gitfile submodule itu dengan symlink yang menunjuk ke folder berisi config atau hook berbahaya. Hook adalah program yang dijalankan Git pada titik tertentu, jadi begitu Git memakai folder tersebut, kode penyerang bisa berjalan.

Versi yang sudah ditambal menolak path yang terlalu panjang sebelum panjangnya sempat terpotong. Release notes juga mencantumkan perbaikan tambahan (defense-in-depth) di read-cache yang menolak entri cache dengan nama terlalu panjang.
Kenapa skornya "hanya" 8.0?
Vektor CVSS di advisory Git menunjukkan beberapa syarat: kompleksitas serangan tinggi (AC:H), butuh hak akses rendah (PR:L), dan butuh interaksi korban (UI:R), yaitu korban harus meng-clone repositori itu secara rekursif. Namun scope-nya berubah (S:C) dengan dampak tinggi pada kerahasiaan, integritas, dan ketersediaan. Advisory juga menyebut repositori jahat itu dihosting penyerang sendiri, bukan di forge biasa, dan saat ini diyakini hanya bisa dipicu dengan opsi --recurse-submodules.
Siapa yang terdampak?
- Developer yang memakai Git versi di bawah rilis perbaikan dan pernah atau sering melakukan clone rekursif, termasuk lewat script setup proyek.
- Pipeline CI/CD dan build server yang meng-clone repositori pihak ketiga beserta submodule-nya secara otomatis.
- Aplikasi yang membundel salinan Git sendiri. GitHub secara khusus menyarankan memperbarui aplikasi semacam ini, karena update Git dari sistem operasi tidak ikut memperbaruinya.
- Pengguna Windows: per 10 November pukul 19.09 UTC, The Hacker News mencatat Git for Windows belum merilis versi berbasis 2.56.1.
- Pengguna GitHub Enterprise Server yang belum naik ke 3.19.15, 3.20.11, 3.21.9, atau 3.22.4.
Pengguna github.com dan GitHub Enterprise Cloud sudah ditambal di sisi server oleh GitHub. Tetapi celah utamanya terjadi di Git milik klien yang meng-clone, jadi Git di laptop dan runner Anda tetap harus diperbarui.
Seberapa serius situasinya?

- Pengumuman rilis Git oleh Junio C Hamano pada 10 November 2026 menyebutnya "a set of coordinated security fix releases" dan meminta pengguna memperbarui secepatnya.
- Satu rilis menambal enam CVE: CVE-2026-111760, CVE-2026-113408, CVE-2026-114466, CVE-2026-114467, CVE-2026-114469, dan CVE-2026-105437.
- GitHub menyiapkan versi baru GitHub Desktop dan GitHub Copilot app, dan Codespaces serta GitHub Actions juga akan mendapat Git yang sudah diperbaiki.
- Sumber yang kami baca belum melaporkan eksploitasi di dunia nyata maupun PoC publik untuk CVE-2026-111760.
Satu catatan: saat kami membukanya, halaman advisory GHSA-vp2w-7xxj-jvxr masih menulis "Patched versions: none" dan "Patches are being discussed". Isi itu tampaknya belum diperbarui, karena release notes resmi Git sudah mencantumkan CVE-2026-111760 sebagai diperbaiki. Pegang release notes sebagai acuan versi aman.
Lima celah lain dalam rilis yang sama
| CVE | Ringkasan |
|---|---|
| CVE-2026-113408 | Server jahat bisa mengiklankan unborn HEAD berisi path traversal (contoh refs/heads/../../../TARGET) saat clone repositori kosong lewat protokol v2; dengan files ref backend, update ref bisa menulis ke file yang tidak semestinya |
| CVE-2026-114467 | Merge tag dengan lebih dari dua tanda tangan GPG merusak memori stack, berpotensi DoS, termasuk di forge |
| CVE-2026-114469 | Binary patch yang mengembang sangat besar lolos batas sekitar 1 GiB dan membuat Git crash (out-of-bounds read) |
| CVE-2026-105437 | Merge sangat besar dengan banyak konflik dan conflict-marker-size besar membuat buffer terlalu kecil sehingga heap rusak; GitLab menilai server code hosting paling mungkin disasar lewat git merge-tree |
| CVE-2026-114466 | Fitur fast-import rewrite-submodules-from, rewrite-submodules-to, dan export-pack-edges bisa membaca atau membuat file sembarang; kini ditolak kecuali dengan --allow-unsafe-features |
Versi mana yang aman?
| Cabang | Versi aman minimum | Catatan |
|---|---|---|
| 2.56 | 2.56.1 | Rilis terbaru |
| 2.55 | 2.55.1 | Backport |
| 2.54 | 2.54.1 | Backport |
| 2.53 | 2.53.1 | Backport |
| 2.52 | 2.52.1 | Backport |
| 2.51 | 2.51.3 | Backport |
| 2.50 | 2.50.2 | Backport |
| Di bawah 2.50 | Lihat catatan | Pengumuman menyebut rilis tersedia "down to maint-2.43", tetapi tag yang dicantumkan hanya 2.50.2 ke atas. Paling aman naik ke salah satu versi di atas |
| GitHub Enterprise Server | 3.19.15, 3.20.11, 3.21.9, 3.22.4 | Sesuai cabang GHES Anda |
Bagaimana cara mengecek versi Git?
# Versi Git yang dipakai di terminal
git --version
# Lokasi binary Git (bisa lebih dari satu di PATH)
which -a git
# Apakah clone/pull otomatis memakai submodule? (true = rekursif secara default)
git config --show-origin --get submodule.recurse
# Cari salinan Git lain yang dibundel aplikasi (contoh di Linux/macOS)
find / -type f -name git -perm -u+x 2>/dev/null | grep -v '^/proc' | head -50
Di runner CI, tambahkan git --version di awal job supaya versi yang benar-benar dipakai tercatat di log. Ingat bahwa image container dan runner self-hosted sering membawa Git versi lama.
Bagaimana cara update dengan aman?
Urutan yang disarankan: hentikan clone rekursif dari sumber tak tepercaya dulu, baru perbarui Git di semua mesin.
Langkah 1: mitigasi sementara
GitHub menyarankan langkah berikut sampai versi perbaikan terpasang, dan menegaskan langkah ini tidak menggantikan patch: clone hanya dari server tepercaya, jangan clone rekursif repositori yang tidak dipercaya, jangan merge konten atau tag yang tidak dipercaya, dan jangan memproses binary patch atau stream fast-import dari sumber tak tepercaya.
# Pastikan clone tidak otomatis rekursif (hapus jika pernah di-set true)
git config --global --unset submodule.recurse
# Untuk repositori yang belum dipercaya: clone TANPA submodule dulu
git clone https://contoh.domain/repo.git
cd repo
# Periksa daftar submodule sebelum mengambilnya
cat .gitmodules
git submodule status
Untuk server code hosting yang belum bisa upgrade, The Hacker News mengutip workaround CVE-2026-105437: tambahkan conflict-marker-size=7 ke file info/attributes tiap repositori, atau matikan pengecekan merge untuk repositori tak tepercaya.
# Contoh untuk repositori bare di server (sesuaikan path)
echo '* conflict-marker-size=7' >> /path/ke/repo.git/info/attributes
Langkah 2: update dan verifikasi
GitHub menyarankan memasang versi perbaikan dari sistem operasi atau distributor Git Anda. Paket di tiap distro bisa terbit di waktu berbeda, jadi cek versi setelah update.
# Debian/Ubuntu
sudo apt update && sudo apt install --only-upgrade git
# RHEL/Rocky/AlmaLinux/Fedora
sudo dnf upgrade git
# macOS (Homebrew)
brew update && brew upgrade git
# Verifikasi: harus 2.56.1 atau versi backport yang sesuai cabang
git --version
Di Windows, pantau rilis Git for Windows berbasis 2.56.1, lalu jalankan git update-git-for-windows atau unduh installer resmi. Perbarui juga GitHub Desktop dan aplikasi lain yang membundel Git begitu versi barunya keluar.
Bagaimana mendeteksi repositori yang mencurigakan?
Belum ada IOC yang dipublikasikan untuk celah ini. Yang bisa diperiksa adalah ciri teknik serangannya: gitfile submodule yang berubah menjadi symlink, serta hook atau config tak dikenal. Jalankan dari folder repositori hasil clone rekursif.
# 1) Normalnya .git di dalam submodule adalah FILE biasa, bukan symlink
find . -name .git -type l -exec ls -l {} \;
# 2) Hook aktif (selain contoh *.sample) di repositori utama dan submodule
find .git/hooks .git/modules -path '*hooks/*' ! -name '*.sample' -type f 2>/dev/null
# 3) core.hooksPath atau konfigurasi lain yang mengarah ke folder tak dikenal
git config --show-origin --get-regexp 'core\.hookspath|core\.fsmonitor|core\.sshcommand'
git submodule foreach --recursive 'git config --show-origin --get-regexp "core\..*" || true'
# 4) Path yang sangat panjang di index (pemicu celah)
git ls-files | awk 'length($0) > 4096 {print length($0)": "substr($0,1,80)"..."}'
Hasil kosong di langkah 1 sampai 3 adalah kondisi normal untuk kebanyakan proyek. Satu temuan saja belum tentu serangan, tetapi symlink .git di submodule atau hook yang tidak Anda pasang sendiri layak diperiksa serius.
Kalau menemukan tanda pembobolan?
- Putuskan mesin dari jaringan dan simpan salinan folder repositori, termasuk
.git/modules, sebagai bukti. - Periksa proses yang berjalan dan cron/systemd timer baru di mesin tersebut.
- Rotasi kredensial yang tersimpan di mesin: SSH key, token Git hosting, credential helper, token cloud, dan secret CI.
- Bangun ulang runner atau workstation dari image bersih dengan Git versi aman.
- Laporkan repositori sumbernya ke platform hosting terkait.
Pertanyaan yang sering diajukan
Saya hanya pakai github.com. Apakah perlu update?
Ya. GitHub sudah menambal server github.com, tetapi celah utama terjadi di Git klien saat meng-clone. Git di laptop, server, dan runner Anda tetap harus diperbarui.
Apakah git clone biasa tanpa submodule aman?
Advisory Git saat ini meyakini celah ini hanya bisa dipicu dengan --recurse-submodules. Tetapi rilis yang sama juga menambal celah lain yang tidak butuh submodule, misalnya CVE-2026-113408 saat clone repositori kosong, jadi update tetap wajib.
Apakah celah ini sudah masuk CISA KEV?
Sumber yang kami baca tidak menyebutnya. Berita KEV terbaru (10 November 2026) membahas Cisco BroadWorks dan Openwave, bukan Git. Status bisa berubah, jadi pantau katalog KEV.
Bagaimana dengan VPS atau shared hosting di Indonesia?
Kalau Anda punya akses SSH dan memakai Git di server untuk deployment, cek versinya dengan git --version dan update lewat paket distro. Di shared hosting, Git dikelola penyedia, jadi tanyakan jadwal update ke mereka dan hindari clone rekursif repositori pihak ketiga sampai Git diperbarui.
Apakah runner GitHub Actions aman?
GitHub menyatakan Actions akan mendapat Git yang sudah diperbaiki. Untuk runner self-hosted, Anda sendiri yang harus memperbarui Git di mesin runner.
Celah ini menambah daftar masalah keamanan di rantai pasok developer setelah celah GitLab CVE-2026-97229. Polanya serupa: alat yang kita pakai setiap hari untuk mengambil dan membangun kode ikut menjadi jalur serangan. Untuk server Linux, cek juga status celah kernel CVE-2026-98432.
Sumber
- Git mailing list: [ANNOUNCE] Git 2.56.1 and friends (release notes resmi)
- GitHub Security Advisory GHSA-vp2w-7xxj-jvxr: Recursive clones are susceptible to Remote Code Execution
- GitHub Blog: Git security vulnerabilities announced
- The Hacker News: Git Patches Flaw That Lets Malicious Repositories Execute Code During Recursive Clones
- The Hacker News: Cisco BroadWorks and Openwave Flaws Actively Exploited (berita KEV 10 November 2026)
Topik: #keamanan #cve #git #github #devsecops #supply chain
Tentang penulis
Tim APIPedia — Tim Engineering APIPedia
Tim engineering di balik APIPedia yang membangun dan memelihara API data Indonesia - ongkir, OCR KTP, data wilayah, BMKG, hingga server MCP - dan menulis panduan integrasinya dari pengalaman langsung.