Pengantar

Platform Git self-hosted menjadi pilihan banyak perusahaan karena memberikan kontrol penuh terhadap source code dan data internal. Salah satu platform yang cukup populer adalah Gogs. Namun, baru-baru ini peneliti keamanan dari Rapid7 mengungkap adanya kerentanan kritis pada Gogs yang memungkinkan pengguna biasa menjalankan perintah berbahaya di server. Kerentanan ini memiliki skor CVSS 9.4 dan termasuk kategori Critical.

Apa Itu Gogs?

Gogs adalah layanan Git open-source yang memungkinkan organisasi membangun server Git sendiri sebagai alternatif dari GitHub atau GitLab. Platform ini ditulis menggunakan bahasa Go dan dikenal ringan, cepat, serta mudah digunakan.

Banyak perusahaan menggunakan Gogs untuk menyimpan source code internal, mengelola repository, melakukan code review, serta mengatur kolaborasi tim pengembang.

Kerentanan Kritis yang Ditemukan

Rapid7 menemukan sebuah celah keamanan yang memungkinkan pengguna yang memiliki akun pada server Gogs menjalankan kode atau perintah secara langsung di sistem operasi server.

Kerentanan ini berasal dari proses “Rebase Before Merging” yang digunakan saat melakukan merge pull request. Penyerang dapat menyisipkan parameter berbahaya ke dalam nama branch sehingga ketika proses rebase dijalankan, server akan mengeksekusi perintah yang telah disiapkan oleh penyerang.

Menurut Rapid7, kerentanan ini termasuk kategori Argument Injection atau CWE-88. Dampaknya sangat besar karena dapat memberikan akses langsung ke server tempat Gogs berjalan.

Bagaimana Serangan Ini Dilakukan?

Salah satu hal yang membuat kerentanan ini berbahaya adalah proses eksploitasinya cukup sederhana.

Secara umum, langkah serangan dapat dilakukan sebagai berikut:

  1. Penyerang membuat akun pada server Gogs.
  2. Membuat repository baru.
  3. Membuat branch dengan nama yang telah dimodifikasi untuk menyisipkan perintah berbahaya.
  4. Membuka Pull Request.
  5. Mengaktifkan metode merge menggunakan rebase.
  6. Saat proses rebase dijalankan, server mengeksekusi perintah yang disisipkan penyerang.

Yang lebih mengkhawatirkan, serangan ini tidak membutuhkan hak administrator dan tidak memerlukan interaksi pengguna lain. Selama penyerang memiliki akun yang valid, eksploitasi dapat dilakukan secara mandiri.

Mengapa Kerentanan Ini Sangat Berbahaya?

Kerentanan ini memungkinkan terjadinya Remote Code Execution (RCE).

RCE adalah kondisi ketika penyerang dapat menjalankan perintah secara langsung pada server target dari jarak jauh. Dalam banyak kasus, RCE dianggap sebagai salah satu jenis kerentanan paling berbahaya karena dapat menyebabkan pengambilalihan sistem secara penuh.

Jika berhasil dieksploitasi, penyerang dapat:

  • Mengakses seluruh repository yang tersimpan.
  • Mencuri source code perusahaan.
  • Mengambil API token dan kredensial pengguna.
  • Memasang malware atau backdoor.
  • Melakukan pergerakan ke sistem internal lainnya.
  • Memodifikasi kode aplikasi yang sedang dikembangkan.

Analisis Teknis Sederhana

Kerentanan ini memanfaatkan fitur Git bernama git rebase.

Dalam Git, terdapat parameter bernama:

 

Parameter --exec memungkinkan Git menjalankan sebuah perintah setelah proses rebase berlangsung.

Masalah muncul ketika nama branch yang dibuat pengguna tidak divalidasi dengan baik. Penyerang dapat menyisipkan parameter tambahan sehingga Git menganggapnya sebagai instruksi yang sah dan menjalankan perintah berbahaya pada server.

Singkatnya, server gagal membedakan antara nama branch yang normal dan parameter yang seharusnya tidak boleh dijalankan.

Ribuan Server Berpotensi Terpapar

Menurut laporan yang dipublikasikan, terdapat lebih dari 1.100 instance Gogs yang dapat diakses melalui internet. Jumlah tersebut menunjukkan bahwa banyak organisasi berpotensi terkena dampak jika belum melakukan mitigasi yang diperlukan.

Karena banyak server Gogs digunakan untuk menyimpan source code internal perusahaan, risiko kebocoran data dan serangan supply chain menjadi semakin tinggi.

Status Patch Saat Ini

Saat laporan dipublikasikan, belum tersedia patch resmi untuk mengatasi kerentanan tersebut.

Rapid7 melaporkan bahwa mereka telah menghubungi pengembang Gogs pada Maret 2026, tetapi hingga publikasi laporan dilakukan, perbaikan resmi belum dirilis.

Hal ini membuat administrator sistem harus segera menerapkan langkah mitigasi sementara untuk mengurangi risiko eksploitasi.

Langkah Mitigasi yang Disarankan

Jika organisasi menggunakan Gogs, beberapa langkah berikut dapat dilakukan:

1. Nonaktifkan Rebase Before Merging

Fitur ini menjadi titik utama eksploitasi sehingga sebaiknya dinonaktifkan sementara sampai patch tersedia.

2. Batasi Pendaftaran Pengguna Baru

Matikan fitur registrasi publik agar penyerang tidak dapat membuat akun dengan mudah.

3. Batasi Pembuatan Repository

Hanya pengguna tertentu yang diperbolehkan membuat repository baru.

4. Pantau Aktivitas Pull Request

Periksa branch atau pull request yang memiliki nama tidak biasa, terutama yang mengandung parameter Git mencurigakan.

5. Lakukan Monitoring Log

Administrator perlu memeriksa log server untuk mendeteksi aktivitas aneh yang berkaitan dengan proses git rebase.

Pelajaran bagi Tim DevOps dan Security

Kasus ini menunjukkan bahwa bahkan platform yang digunakan untuk mengelola source code juga dapat menjadi target serangan serius.

Beberapa pelajaran penting yang dapat diambil:

  • Selalu lakukan pembaruan keamanan secara berkala.
  • Jangan mengaktifkan fitur yang tidak diperlukan.
  • Terapkan prinsip least privilege pada pengguna.
  • Batasi akses layanan Git dari internet publik jika memungkinkan.
  • Lakukan audit keamanan terhadap platform DevOps yang digunakan organisasi.

Keamanan tidak hanya berfokus pada aplikasi yang dikembangkan, tetapi juga pada alat yang digunakan selama proses pengembangan.

Kesimpulan

Kerentanan terbaru pada Gogs menunjukkan bagaimana sebuah kesalahan validasi input dapat berubah menjadi ancaman besar bagi organisasi. Dengan skor CVSS 9.4, celah ini memungkinkan pengguna biasa mendapatkan akses Remote Code Execution pada server Gogs melalui mekanisme rebase saat merge pull request.

Karena hingga saat ini belum tersedia patch resmi, administrator yang menggunakan Gogs perlu segera menerapkan mitigasi sementara seperti menonaktifkan fitur rebase merging, membatasi registrasi pengguna, dan meningkatkan monitoring server. Langkah cepat sangat penting untuk mencegah pencurian source code, kebocoran data, maupun kompromi infrastruktur yang lebih luas.