Projek Git mengeluarkan satu set versi penyelenggaraan pada 10 November yang membaiki 6 kerentanan sekali gus. Yang paling serius ialah CVE-2026-111760: mengklon repositori yang dikawal penyerang dengan git clone --recurse-submodules boleh menjalankan kod penyerang pada mesin anda, dan nasihat keselamatan GitHub memberinya skor 8.0 (tinggi). Projek Git menyatakan bahawa setiap versi sejak 2.27.0 terjejas. Versi yang telah dibaiki ialah 2.50.2, 2.51.3, 2.52.1, 2.53.1, 2.54.1, 2.55.1 dan 2.56.1; versi yang lebih lama daripada 2.50 juga terjejas tetapi tidak lagi menerima keluaran penyelenggaraan.

Bila Setiap Satu daripada Enam Kelemahan Itu Tercetus

  • CVE-2026-111760: Git menyimpan panjang laluan fail dalam medan 32 bit. Penyerang membina laluan yang amat panjang yang lulus semakan keselamatan laluan tetapi terpotong menjadi .git apabila ditulis ke cakera. Dalam submodul yang baru diklon, .git ialah sebuah fail, jadi ia digantikan dengan pautan simbolik ke direktori berniat jahat, dan hook atau konfigurasi di situ kemudiannya dilaksanakan. Pencetusnya ialah klon rekursif terhadap repositori yang dikawal penyerang.
  • CVE-2026-113408: pelayan berniat jahat menggunakan protokol v2 untuk menghalakan HEAD kepada nama yang mengandungi ../, dan apabila anda kemudiannya menjalankan git commit, Git menulis ke fail di luar direktori rujukan.
  • CVE-2026-114467: apabila mesej tag membawa lebih daripada dua tandatangan GPG, git merge merosakkan memori tindanan, yang boleh menyebabkan penafian perkhidmatan.
  • CVE-2026-114469: tampalan binari yang mengembang jauh melebihi 1 GiB terlepas daripada semakan saiz, lalu git apply membaca di luar sempadan dan ranap.
  • CVE-2026-105437: limpahan timbunan dalam kod gabungan tiga hala, dicetuskan oleh conflict-marker-size yang sangat besar dalam .gitattributes digabungkan dengan banyak konflik; merge, rebase, cherry-pick dan merge-tree semuanya menjalankan kod ini.
  • CVE-2026-114466: beberapa ciri git fast-import boleh membaca dan menulis fail sewenang-wenangnya; ciri-ciri itu kini dilumpuhkan secara lalai dan memerlukan --allow-unsafe-features jika anda benar-benar menggunakannya. Ini perubahan yang tidak serasi ke belakang.

Mengapa Ini Penting pada Pelayan

  • Skrip pengerahan (deploy) dan CI: banyak skrip mengklon secara rekursif. Projek Git menyatakan bahawa repositori berniat jahat sebegini gagal dalam semakan di platform pengehosan utama dan tidak mudah ditolak (push) ke sana, tetapi ia boleh diletakkan di pelayan penyerang sendiri, dan .gitmodules yang kelihatan tidak berbahaya tetapi menghala kepadanya sudah memadai. Dengan kata lain, risikonya datang daripada submodul di dalam repositori pihak ketiga yang menjadi kebergantungan anda.
  • Perkhidmatan Git hos sendiri: perkhidmatan pengehosan menyemak di pelayan, bagi pihak penggunanya, sama ada sesuatu gabungan boleh dilakukan. Pengumuman itu menyatakan bahawa limpahan timbunan dalam proses gabungan boleh ditingkatkan menjadi pelaksanaan kod jauh pada GitLab. GitHub menyatakan github.com sudah dibaiki, dan versi GitHub Enterprise Server yang telah dibaiki ialah 3.19.15, 3.20.11, 3.21.9 dan 3.22.4.
  • Pakej pengedaran: setakat 12 November, 2.39.5 dalam Debian 12 dan 2.47.3 dalam Debian 13 masih ditandakan sebagai terjejas (vulnerable). Lama tidak bermakna selamat: berdasarkan julat yang dinyatakan projek huluan, 2.34.1 yang disertakan dengan Ubuntu 22.04 juga terjejas dan perlu menunggu pengedaran itu membuat backport pembaikan tersebut.

Apa yang Boleh Anda Lakukan Sekarang

Semak versi anda dengan git --version, naik taraf sebaik sahaja pakej yang dibaiki oleh pengedaran anda tiba, dan kemas kini aplikasi yang membawa salinan Git sendiri. Sehingga tampalan dipasang, nasihat GitHub ialah mengklon hanya daripada pelayan yang dipercayai, mengelakkan klon rekursif terhadap repositori yang tidak dipercayai, mengelakkan penggabungan kandungan atau tag yang tidak dipercayai, dan mengelakkan pemprosesan tampalan binari atau strim fast-import daripada sumber yang tidak dipercayai. GitHub juga menyatakan bahawa langkah berjaga-jaga ini tidak menggantikan pemasangan pembaikan. Kami pernah membincangkan risiko rantaian bekalan daripada jenis yang sama dalam laporan kami tentang cecacing npm; aliran pengerahan lazim yang menarik kod dengan Git ada dalam mengerahkan aplikasi Node.js dan pengenalan Docker kami; dan jika anda mengesyaki mesin pengerahan sudah menjalankan kod yang tidak dikenali, ikuti panduan siasatan pencerobohan dan pengukuhan kami.