Git Tutup Celah CVE-2026-111760: Repo Jahat Bisa Jalankan Kode Saat Recursive Clone

Nov 11, 2026 - 03:00
 0  0
Git Tutup Celah CVE-2026-111760: Repo Jahat Bisa Jalankan Kode Saat Recursive Clone

Celah pada Git memungkinkan repositori jahat menjalankan kode penyerang di komputer yang melakukan clone rekursif beserta submodulnya. Proyek Git menambalnya lewat rilis Git 2.56.1, dengan perbaikan serupa untuk seri 2.50 hingga 2.55.

Ad
Ad

Kerentanan yang dilacak sebagai CVE-2026-111760 itu diumumkan peneliti dan ditulis ulang secara rinci oleh GitHub. Perbaikan mulai tersedia pekan ini, tetapi sejumlah turunan Git belum ikut bergerak — termasuk Git for Windows yang belum merilis versi berbasis 2.56.1 hingga Selasa pukul 19.09 UTC.

Bagaimana CVE-2026-111760 Bekerja di Balik Recursive Clone

Inti masalahnya ada pada cara Git menangani indeks repositori. Menurut penjelasan proyek Git, CVE-2026-111760 adalah integer truncation: jalur (path) yang sangat panjang di dalam sebuah repositori bisa lolos pemeriksaan keamanan Git, tetapi kemudian ditulis ke disk dengan nama yang lebih pendek.

Nama pendek itulah yang jadi celah. Penyerang dapat mengaturnya menjadi .git, lalu mengganti file .git milik sebuah submodul dengan symbolic link ke folder berisi hooks atau konfigurasi berbahaya.

Hooks adalah program yang dijalankan Git pada titik-titik tertentu. Begitu Git memakai folder yang ditunjuk symbolic link tersebut, kode penyerang ikut dieksekusi.

Submodul menjadi kunci serangan ini. Git menolak mengganti folder .git dengan symbolic link, tetapi pada submodul yang baru di-clone, .git berbentuk file, bukan folder. Kondisi itulah yang dimanfaatkan.

Versi yang sudah diperbaiki menolak jalur yang sangat panjang sebelum panjangnya dipotong. Dengan begitu, manipulasi nama file menuju .git tidak lagi bisa terjadi.

Daftar Versi Git yang Sudah Ditambal

Proyek Git merilis perbaikan untuk beberapa seri sekaligus, bukan hanya versi terbaru. Langkah ini penting karena banyak distribusi dan aplikasi masih mengunci versi lama.

  • Git 2.56.1 sebagai rilis utama perbaikan.
  • Git 2.50.2 untuk seri 2.50.
  • Git 2.51.3 untuk seri 2.51.
  • Git 2.52.1, 2.53.1, 2.54.1, dan 2.55.1 untuk seri berikutnya.

Pengguna disarankan memasang versi yang sudah diperbaiki dari sistem operasi atau distributor Git masing-masing. Aplikasi yang membawa salinan Git sendiri juga perlu diperbarui, karena patch di sistem tidak otomatis menutup Git yang tertanam di dalam aplikasi.

GitHub mengumumkan sudah menerapkan perbaikan di github.com dan GitHub Enterprise Cloud. Untuk GitHub Enterprise Server, patch tersedia di versi 3.19.15, 3.20.11, 3.21.9, dan 3.22.4.

Lima Kerentanan Lain yang Ikut Ditutup

Rilis ini bukan hanya soal CVE-2026-111760. Ada lima celah lain yang diperbaiki bersamaan, dan beberapa di antaranya berpotensi lebih berbahaya di lingkungan server hosting kode.

CVE-2026-113408 muncul saat seseorang melakukan clone repositori kosong lewat Git protocol v2. Server jahat bisa mengirim nama branch berisi path traversal. Dengan files reference backend, pembaruan branch berikutnya bisa menulis di luar folder reference Git.

CVE-2026-114467 terjadi ketika merge sebuah tag yang membawa lebih dari dua tanda tangan GPG merusak stack memory Git dan memicu denial of service. Layanan hosting yang menjalankan merge semacam itu untuk pengguna juga berisiko terdampak.

CVE-2026-114469 melibatkan binary patch yang mengembang ke ukuran sangat besar. Patch itu bisa melewati batas ukuran sekitar 1 GiB dan membuat Git crash karena out-of-bounds read.

CVE-2026-105437 berkaitan dengan merge sangat besar yang penuh konflik dan atribut conflict-marker-size berukuran besar. Git bisa menulis melewati ujung buffer yang terlalu kecil dan merusak heap memory.

CVE-2026-114466 menyangkut tiga fitur git fast-import, yakni rewrite-submodules-from, rewrite-submodules-to, dan export-pack-edges. Fitur-fitur itu bisa dipakai membaca file sembarang atau membuat file dan menambahkan data ke dalamnya. Git kini menolaknya dalam input stream kecuali opsi --allow-unsafe-features diaktifkan.

GitLab Soroti Risiko di Server Hosting Kode

GitLab, yang menetapkan CVE-2026-105437, menyebut server hosting kode sebagai target paling mungkin. Serangan diperkirakan menyasar lewat git merge-tree, perintah yang dijalankan server untuk memeriksa apakah sebuah pull atau merge request bisa digabungkan.

Atribut conflict-marker-size dapat diatur di file .gitattributes yang di-commit ke repositori. Jika server membaca atribut dari repositori, siapa pun yang bisa push branch dan membuka pull atau merge request berpotensi memicu celah ini.

Sebagai solusi sementara, server yang belum bisa upgrade dapat menambahkan conflict-marker-size=7 ke file info/attributes setiap repositori. Alternatif lain, mematikan pemeriksaan merge untuk repositori yang tidak tepercaya.

Informasi lebih lengkap soal mekanisme dan cakupan perbaikan bisa dibaca di laporan The Hacker News serta pengumuman resmi proyek Git.

Langkah Pengamanan Sebelum Semua Versi Git Diperbarui

GitHub menyadari tidak semua pengguna bisa langsung memasang patch. Karena itu, mereka merilis panduan sementara yang menekan permukaan serangan, meski tidak menggantikan perbaikan sesungguhnya.

  • Clone hanya dari server yang dipercaya.
  • Jangan melakukan clone rekursif pada repositori yang tidak dipercaya.
  • Jangan merge konten atau tag yang tidak dipercaya.
  • Jangan memproses binary patch atau fast-import stream dari sumber yang tidak dipercaya.

GitHub Desktop dan aplikasi GitHub Copilot versi yang sudah diperbaiki masih disiapkan. GitHub Codespaces dan GitHub Actions juga akan menerima Git yang sudah ditambal.

Bagi tim pengembang, urutan prioritasnya cukup jelas: perbarui Git di mesin developer, lalu di server CI/CD, lalu di layanan hosting internal. Panduan instalasi dan catatan rilis bisa dilihat di repositori resmi Git.

Yang perlu diawasi berikutnya adalah Git for Windows. Selama versi berbasis 2.56.1 belum dirilis, pengguna Windows yang mengandalkan paket tersebut masih menjalankan Git tanpa perbaikan penuh, kecuali mereka beralih ke distribusi lain yang lebih dulu menambal.

Analisis Redaksi

Kerentanan ini tidak spektakuler di permukaan, tetapi justru berbahaya karena menyentuh alur kerja yang dianggap rutin. Recursive clone sudah menjadi kebiasaan di banyak proyek open source dan pipeline CI. Siapa pun yang menjalankan perintah itu pada repositori asing, dengan submodul yang belum diperiksa, sedang membuka pintu bagi eksekusi kode di mesinnya sendiri.

Yang membuat CVE-2026-111760 layak disorot adalah kombinasi tiga hal: pemeriksaan keamanan Git yang bisa dilewati lewat integer truncation, bentuk .git pada submodul yang baru di-clone, dan hooks yang otomatis berjalan. Masing-masing komponen tampak wajar. Digabung, ketiganya menjadi rantai serangan yang relatif murah bagi penyerang.

Pola rilis patch di seri 2.50 sampai 2.55 menunjukkan proyek Git sadar bahwa pengguna tidak selalu berada di versi terbaru. Namun patch hanya berguna jika benar-benar dipasang. Di sinilah masalahnya: banyak organisasi menunda upgrade Git karena takut merusak pipeline, sementara turunan seperti Git for Windows dan aplikasi pihak ketiga bergerak dengan kecepatan berbeda.

Kasus CVE-2026-105437 juga memberi pelajaran soal model kepercayaan di server hosting kode. Atribut yang dibaca dari repositori, ditambah siapa pun yang boleh membuka merge request, cukup untuk memicu kerusakan di sisi server. Selama server memperlakukan input dari repositori sebagai data tepercaya, celah serupa akan terus muncul.

Langkah paling masuk akal bukan menunggu rilis sempurna, melainkan mengurangi paparan sekarang: batasi clone rekursif, periksa submodul sebelum dipakai, dan pastikan server CI memakai Git yang sudah ditambal. Selebihnya, disiplin memperbarui perangkat lunak tetap jadi pertahanan paling dasar — dan paling sering diabaikan.

What's Your Reaction?

Like Like 0
Dislike Dislike 0
Love Love 0
Funny Funny 0
Angry Angry 0
Sad Sad 0
Wow Wow 0
admin As a passionate news reporter, I am fueled by an insatiable curiosity and an unwavering commitment to truth. With a keen eye for detail and a relentless pursuit of stories, I strive to deliver timely and accurate information that empowers and engages readers.
Ad
Ad