GitLab CVE-2026-97229 (CVSS 10,0) Dicoba Dieksploitasi di Server Alpine Linux: Naik ke 19.2.8, 19.3.4, atau 19.4.2 dan Pastikan Ruby Ikut Ditambal

Logo GitLab pada ilustrasi berita celah eksekusi kode kritis

Tim Alpine Linux mengungkap bahwa penyerang mencoba mengeksploitasi CVE-2026-97229, celah GitLab dengan skor CVSS 10,0, pada instance GitLab milik proyek itu. Percobaan terjadi pada 20 sampai 21 Oktober 2026. Alpine tidak menemukan bukti bahwa serangan berhasil, tetapi tidak bisa memastikannya, sehingga mereka membangun ulang server dari awal.

Celah di compiler regex CI/CD GitLab

CVE-2026-97229 adalah integer overflow di compiler ekspresi reguler untuk CI/CD, yang bersumber dari Onigmo, mesin regex bawaan Ruby. Menurut advisori GitLab, penyerang tanpa autentikasi berpotensi menjalankan kode di server dengan memakai konfigurasi CI yang dibuat khusus. GitLab merilis perbaikan pada 12 Oktober 2026 untuk edisi CE dan EE: versi 19.2.8, 19.3.4, dan 19.4.2. Versi terdampak adalah 19.2 sebelum 19.2.8, 19.3 sebelum 19.3.4, dan 19.4 sebelum 19.4.2. GitLab.com sudah ditambal, dan pelanggan GitLab Dedicated tidak perlu bertindak. Peneliti dengan nama pengguna joaxcar melaporkan celah ini lewat HackerOne.

Yang terjadi di server Alpine

Menurut kronologi Alpine, seorang penyerang mendaftar akun pada 20 Oktober lalu mengirim konfigurasi CI berbahaya sehari kemudian. Delapan proses worker GitLab crash. Pada empat kasus, penyerang sudah melewati sebagian tahap eksploitasi sebelum gagal di langkah berikutnya. Penyerang juga mengunduh image container GitLab milik Alpine, yang menurut tim kemungkinan dipakai untuk menyesuaikan serangan dengan build yang berjalan.

Alpine menemukan instance mereka masih rentan pada 26 Oktober, meski sudah naik ke GitLab 19.3.6. Penyebabnya, perbaikan GitLab berupa patch pada Ruby yang dibundel dalam paket dan image resminya, sedangkan image kustom Alpine memakai Ruby standar. Ruby upstream baru merilis perbaikan pada 23 Oktober di versi 3.3.13, 3.4.12, dan 4.0.9. Alpine menutup GitLab untuk publik pada 27 Oktober, membangun ulang server, mengganti semua kata sandi dan secret key, lalu membukanya kembali pada 29 Oktober dengan GitLab 19.3.7. Rilis stabil dan paket Alpine yang dibuat selama periode itu diverifikasi dan tidak menunjukkan tanda manipulasi. Kunci penandatanganan tidak pernah disimpan di server GitLab.

Bila serangan sempat berhasil, data yang berisiko meliputi email dan nama pengguna, hash kata sandi, secret 2FA, variabel CI/CD, dan repositori privat. Alpine belum menemukan bukti data keluar.

Langkah yang perlu diambil pembaca

Administrator GitLab self-managed sebaiknya naik ke 19.2.8, 19.3.4, 19.4.2, atau yang lebih baru. GitLab menyebut tidak ada workaround, jadi pembaruan adalah satu-satunya jalan. Bagi yang memakai image atau Ruby buatan sendiri, pembaruan GitLab saja tidak cukup: pastikan Ruby berada di 3.3.13, 3.4.12, 4.0.9 atau lebih baru. Pengguna image alpinelinux/gitlab perlu menarik ulang versi 19.3.6 yang dirilis setelah 27 Oktober. Setelah itu, periksa log untuk akun baru yang mencurigakan dan crash worker berulang, serta pertimbangkan merotasi secret CI/CD bila server sempat terbuka ke internet dalam keadaan belum ditambal. Backup perlu disiapkan lebih dulu karena patch ini menyertakan migrasi basis data dan menyebabkan downtime pada instalasi satu node.

Sumber: Alpine Linux, BleepingComputer, dan BleepingComputer tentang advisori GitLab. Gambar: BleepingComputer.