Ruby Rilis Pembaruan Onigmo Atasi 4 Kerentanan Kritis RCE pada GitLab

Pihak pengembang bahasa pemrograman Ruby secara resmi telah meluncurkan pembaruan versi 4.0.9, 3.4.12, dan 3.3.13 guna mengatasi tiga celah keamanan pada Onigmo, mesin regular expression bawaan bahasa tersebut. Masalah internal pada Onigmo ini merupakan sumber utama di balik empat kerentanan keamanan kritis yang ditambal oleh platform GitLab selama satu bulan terakhir.

Tim teknis GitLab menemukan pola regular expression tertentu yang dirancang secara khusus mampu merusak memori sistem ketika Ruby mengompilasinya. Kerusakan alokasi memori ini pada gilirannya membuka kemungkinan terjadinya eksekusi kode berbahaya secara jarak jauh pada server milik mereka.

Dalam keterangan resminya, Ruby menegaskan insiden ini bukan cuma mengancam GitLab, melainkan juga semua aplikasi yang menyusun regex dari teks masukan pihak luar yang dapat dimanipulasi peretas.

Kategori Aplikasi yang Terdampak Celah Keamanan

Melalui lembar panduan keamanannya, Ruby menerangkan suatu aplikasi hanya akan terancam bahaya apabila mengompilasi regular expression dari rangkaian teks yang berada di bawah kendali pihak penyerang. Skenario tersebut dapat berlangsung sewaktu program menyalurkan teks itu ke fungsi Regexp.new, Regexp.union, atau Regexp.compile, maupun menyisipkannya ke pola lewat mekanisme interpolasi seperti format /#{input}/.

Di sisi lain, berbagai aplikasi perangkat lunak yang cuma memanfaatkan formula regular expression buatan tim pengembang internal mereka sendiri dipastikan berada dalam kondisi aman.

Ruby menuntaskan perbaikan masalah ini pada edisi 4.0.9, 3.4.12, dan 3.3.13. Rilisan 3.4.12 bersama 3.3.13 menjadi varian paling awal pada serinya masing-masing yang mengintegrasikan perbaikan tersebut.

Sementara itu, versi 4.0.8 yang meluncur pada pekan yang sama belum mencakup tambalan bagi kerentanan CVE-2026-110264, sehingga pemakai lini 4.0 sangat disarankan memperbarui ke 4.0.9.

Lini Ruby 3.2 beserta edisi yang lebih lawas sama sekali tidak akan menerima tambalan keamanan ini. Ruby 3.2 sudah mencapai batas masa dukungan resmi atau end of life sejak 1 April 2026, dengan versi 3.2.11 sebagai rilis terakhirnya. Tim pengembang Ruby merekomendasikan migrasi secepatnya menuju versi 3.4 ataupun 4.0.

Bagi administrator yang belum mampu memperbarui sistem dalam waktu dekat, anjuran keamanan meminta penghentian total proses kompilasi regex berbasis input yang tidak terverifikasi.

Terdapat dua langkah pengamanan konvensional yang tampak meyakinkan namun sebenarnya terbukti tidak efektif. Mengatur fungsi Regexp.timeout sama sekali tidak sanggup meredam bug ini. Membatasi panjang karakter pola juga tidak dapat diandalkan karena pola singkat pun tetap memicu gangguan memori.

Kronologi Bug Masuk dan Mengancam GitLab

Layanan GitLab secara rutin memproses dan mengompilasi regular expression kiriman pengguna, contohnya pola instruksi pada berkas konfigurasi CI/CD. Mereka mendapati pola rancangan khusus sanggup merusak integritas memori saat Ruby bekerja, sehingga GitLab menerbitkan empat nomor CVE antara 23 September hingga 21 Oktober dan menyelesaikannya lewat distribusi Ruby yang ditambal.

Dua celah pertama diumumkan pada 23 September, mengharuskan status akun terotentikasi, serta diberi peringkat risiko sebesar 9,9 dari skala 10. Dua insiden berikutnya muncul pada Oktober, yakni CVE-2026-97229 pada tanggal 12 dan CVE-2026-110264 pada tanggal 21, yang keduanya tidak butuh login akun dengan skor keparahan sempurna 10,0. Celah CVE-2026-110264 berdampak langsung ke seluruh rilis GitLab mulai versi 7.0 ke atas.

Peneliti anonim dengan identitas joaxcar melaporkan keempat kelemahan sistem tersebut melalui program sayembara bug bounty GitLab. Sampai dengan 23 Oktober, belum ada satu pun dari keempat kerentanan itu yang masuk ke daftar katalog CISA Known Exploited Vulnerabilities.

Status Penomoran CVE dari Pengembang Ruby

Hingga saat ini, Ruby belum mengajukan nomor identifikasi CVE mandiri untuk perbaikan tersebut, setidaknya untuk sekarang, dan menyarankan pemakai meninjau keempat nomor CVE kepunyaan GitLab.

Situasi ini menciptakan celah deteksi bagi tim yang memindai sistem hanya berbasis CVE. Catatan CVE GitLab cuma mencantumkan GitLab sebagai produk terdampak, alhasil alat pemindai yang mengecek catatan terhadap Ruby tidak menemukan kecocokan.

Sebelumnya, Ruby sempat memperlakukan anomali serupa sebagai celah kerentanan resmi dengan menetapkan nomor CVE pada 2022 dan 2024, meskipun memproses regex dari input luar memang berisiko tinggi sejak lama.

Dokumentasi resmi Ruby masih sebatas mendefinisikan bahaya pola tak tepercaya sebagai ancaman denial-of-service semata. Ruby berjanji memperbarui keterangannya jika kelak memohon identitas CVE khusus.

Panduan Teknis bagi Administrator GitLab

Pengelola instalasi mandiri GitLab self-managed diwajibkan mengunduh pembaruan yang menambal CVE-2026-110264. GitLab meluncurkannya pada 21 Oktober dan memberikan tambalan mundur (backport) hingga edisi 18.11.13.

Infrastruktur GitLab.com telah mengoperasikan versi pembaruan tersebut, sementara penyewa GitLab Dedicated pada rilis internal terkini tidak membutuhkan tindakan lanjutan. Mengingat GitLab menyertakan bundel Ruby sendiri dan memperbaikinya langsung di sana, pembaruan ke versi perbaikan otomatis menuntaskan persoalan.

GitLab juga menyediakan aturan deteksi yang dapat dipasang administrator mandiri guna mengidentifikasi gelagat adanya upaya eksploitasi di lingkungan server mereka.