Enam CVE Baru di Git: Update ke 2.56.1 Sebelum Clone Repo Asing
  easystem   12 November 2026   Developer

Pada 10 November 2026, proyek Git merilis pembaruan keamanan yang memperbaiki enam kerentanan sekaligus. Yang paling serius adalah eksekusi kode berbahaya (remote code execution) saat melakukan recursive clone dari repositori buatan penyerang. Artinya, satu perintah git clone --recurse-submodules ke repo yang salah sudah cukup untuk menjalankan kode penyerang di laptop developer, runner CI, sampai server build Anda.

Perbaikannya tersedia di Git 2.56.1, dengan backport ke seri 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3, dan 2.50.2. Bagi tim yang memakai Git setiap hari, memperbarui tooling ini adalah pekerjaan sepuluh menit yang layak dikerjakan malam ini juga.

Enam celah, satu pembaruan

Ringkasan tiap CVE berdasarkan pengumuman resmi GitHub Blog edisi 10 November 2026:

  • CVE-2026-111760, eksekusi kode saat recursive clone. Integer truncation pada penanganan index membuat path yang sangat panjang lolos validasi dengan satu nama tetapi ditulis dengan nama yang lebih pendek. Penyerang memakai celah ini untuk mengganti file .git milik submodule dengan symlink ke direktori berisi konfigurasi atau hooks jahat, lalu Git mengeksekusi kode tersebut ketika direktori itu dipakai.
  • CVE-2026-113408, path traversal lewat HEAD yang diiklankan server. Saat clone repo kosong via Git protocol v2, server bisa mengiklankan symref HEAD ke branch yang belum punya commit. Git sebelumnya tidak memvalidasi target symref itu, sehingga nama berisi komponen ../ membuat operasi berikutnya menulis di luar direktori refs.
  • CVE-2026-114467, stack corruption saat melepas signature. Git mengasumsikan sebuah pesan maksimal punya dua signature GPG, padahal pesan dengan lebih dari dua signature membuat Git menulis melewati batas array berukuran tetap. Pemicunya bisa merge tag, dan efeknya memory corruption yang berujung denial of service.
  • CVE-2026-114469, out-of-bounds read saat apply binary patch. Batas ukuran patch sekitar 1 GiB hanya dicek dari ukuran file yang dikirim, padahal patch biner terkompresi sehingga patch kecil bisa mengembang melewati batas dan membuat Git crash.
  • CVE-2026-105437, heap corruption saat merge besar. Perhitungan memori untuk hasil merge bisa overflow ketika hasilnya sangat besar, misalnya banyak konflik digabung dengan atribut conflict-marker-size berukuran besar. Buffer yang dialokasikan terlalu kecil lalu ditulisi melewati batas.
  • CVE-2026-114466, akses filesystem lewat fast-import. Fitur rewrite-submodules-from dan rewrite-submodules-to bisa membaca file arbitrer dan membocorkan isinya lewat pesan error, sementara export-pack-edges bisa membuat atau menambahi file. Keduanya kini ditolak dari input stream kecuali pemanggil eksplisit memakai --allow-unsafe-features.

Selain enam perbaikan itu, rilis ini menambah pengecekan overflow pada alokasi index entry saat checkout dan pemrosesan tree. Tujuannya agar ukuran alokasi tidak terpotong sebelum path disalin ke memori.

Cek dulu versi Git di semua mesin

Langkah pertama selalu inventaris. Jalankan perintah berikut di laptop, server aplikasi, VPS klien, dan runner CI:

git --version
# contoh output: git version 2.56.0

Kalau angka versinya masih di bawah patch seri Anda (2.56.1, 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3, atau 2.50.2), berarti instalasi itu belum aman. Ada beberapa tempat yang sering terlewat saat audit:

  • Runner CI/CD seperti GitLab Runner, GitHub Actions self-hosted, dan Jenkins agent, karena justru inilah yang paling sering memproses repo dari luar.
  • Git bawaan aplikasi pada GitHub Desktop, aplikasi GitHub Copilot, serta IDE yang membawa Git sendiri. GitHub menyatakan sedang menyiapkan rilis GitHub Desktop dan Copilot app dengan Git yang sudah dipatch, sekaligus memperbarui Codespaces dan GitHub Actions.
  • Server Git internal seperti Gitea, GitLab, dan Forgejo, karena mereka melakukan merge atas nama pengguna.
  • GitHub Enterprise Server, dengan perbaikan di versi 3.19.15, 3.20.11, 3.21.9, dan 3.22.4. Administrator diminta segera melakukan upgrade.

Cara update

Pilih jalur yang sesuai platform Anda. Intinya satu hal: dapatkan build yang sudah berisi patch, jangan hanya menunggu.

  1. Ubuntu/Debian. Perbarui dari repo distro, dan bila repo belum menyediakan versi patch, gunakan PPA resmi ppa:git-core/ppa.
    sudo apt update
    sudo apt install --only-upgrade git
    git --version
  2. macOS. Cara tercepat lewat Homebrew.
    brew update
    brew upgrade git
    git --version
  3. Windows. Pakai winget atau installer Git for Windows terbaru.
    winget upgrade --id Git.Git
  4. Build dari source untuk server yang membutuhkan versi spesifik.
    curl -LO https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.56.1.tar.gz
    tar -xzf git-2.56.1.tar.gz && cd git-2.56.1
    make prefix=/usr/local all
    sudo make prefix=/usr/local install
  5. Container. Ganti base image ke tag yang sudah memuat Git patch lalu rebuild, karena image lama yang di-pin ke digest lama tetap rentan.

Kalau belum bisa update malam ini

Git menyebut update sebagai satu-satunya proteksi yang benar-benar efektif, dan langkah berikut hanya mengurangi risiko untuk sementara:

  • Clone hanya dari server yang Anda percaya, dan hindari --recurse-submodules pada repo asing.
  • Jangan merge konten atau tag dari sumber tidak tepercaya.
  • Jangan memproses binary patch atau stream fast-import dari sumber luar.
  • Untuk pipeline yang meng-build kode pihak ketiga, jalankan di container sekali pakai dengan akses jaringan dan filesystem minimal.

Kebiasaan yang mencegah kejadian serupa

Kerentanan Git jarang jadi berita besar, padahal dampaknya menyentuh seluruh rantai kerja: developer, CI, sampai server produksi. Ada tiga kebiasaan kecil yang membantu. Pertama, catat versi Git di dokumentasi infrastruktur supaya audit berikutnya cepat. Kedua, ikuti feed rilis di git-scm.com atau kategori Git pada blog GitHub. Ketiga, jadwalkan patch bulanan untuk tooling developer, bukan hanya untuk aplikasi web. Di banyak proyek pemerintah dan desa yang kami kelola, Git sering dianggap "sudah ada dan jalan", padahal ia sama-sama butuh pembaruan keamanan seperti PHP, Nginx, atau library framework.

Sumber: Git security vulnerabilities announced, GitHub Blog, 10 November 2026; Git Downloads di git-scm.com.

Tags :

git , keamanan , cve , developer

Bagikan :