Ilustrasi teknis abstrak pada latar biru dongker gelap: wadah transparan berbentuk persegi yang merepresentasikan sandbox berada di atas tumpukan panel server bersudut bulat. Di dalam wadah, sekelompok kecil glif kurung kurawal templat berwarna pucat bercahaya; salah satu kurung telah menyelinap melalui retakan halus di dinding wadah dan berlanjut sebagai garis tipis amber yang menjangkau ke bawah hingga ke tumpukan server, tempat garis itu terpecah menjadi beberapa guratan pendek mirip perintah. Wadah kedua di sebelahnya utuh dan tertutup. Tidak ada teks, orang, atau logo organisasi yang muncul. Logo OrcaRouter dikomposisikan di sudut kanan bawah.
AI Safety Incidents

AI Gateway GitLab Membiarkan Konfigurasi Flow yang Dirancang Khusus Keluar dari Sandbox Prompt-nya

Penulis

Rowan Sterling

Tanggal Terbit

Model terbaru · 20Lihat semua model →
Benchmark: Artificial Analysis · diperbarui setiap hari
Kembali ke semua artikel

Pada 2 Oktober 2026, GitLab menerbitkan rilis patch kritis untuk AI Gateway-nya — middleware yang meneruskan permintaan antara instans GitLab dan model bahasa yang dipanggil fitur Duo-nya — dengan menetapkan CVE-2026-90970 dan memberinya peringkat 9,9 dari 10. Menurut kata-kata GitLab sendiri, cacat tersebut dapat memungkinkan “pengguna terautentikasi yang memiliki akses Duo Agent Platform untuk keluar dari sandbox templat prompt melalui konfigurasi alur yang dibuat secara khusus, yang mengarah pada eksekusi perintah arbitrer di AI Gateway.” Hanya organisasi yang menjalankan AI Gateway yang di-hosting sendiri yang perlu bertindak: GitLab telah memperbaiki gateway yang dioperasikannya untuk GitLab.com, GitLab Dedicated, dan pelanggan self-managed yang menggunakan gateway yang di-hosting GitLab, dan menyatakannya dalam advisori. Pemberitahuan GitLab tidak menyebut bahwa cacat tersebut pernah dieksploitasi, dan penilaian yang dilampirkan pada catatan CVE oleh US Cybersecurity and Infrastructure Security Agency pada hari yang sama mencantumkan eksploitasi sebagai “none”. Penghargaan atas temuan tersebut diberikan kepada peneliti HackerOne yang dikenal sebagai invisiblemeerkat. Advisori GitLab, catatan NVD, dan liputan yang menyusulnya konsisten satu sama lain tentang apa cacat tersebut dan versi mana yang mengandungnya; mereka sama-sama konsisten tentang apa yang tidak diketahui, yaitu apakah ada orang yang pernah menggunakannya. Catatan ini berada di samping kerentanan infrastruktur agen lain yang terdokumentasi di arsip insiden AI, di mana setiap entri memuat sumbernya sendiri, tingkat keparahan, tingkat keyakinan, dan penanda diperdebatkan.

Apa yang sebenarnya dikatakan oleh peringatan itu, dan apa yang tidak disebutkannya

Advisori keamanan ini singkat. Diterbitkan di situs dokumentasi GitLab dengan judul “Rilis Patch Kritis GitLab AI Gateway: 19.2.4, 19.3.2, dan 19.4.1”, dokumen ini mencantumkan satu perbaikan keamanan, berjudul “Masalah Netralisasi Tidak Tepat pada templat prompt alur kustom berdampak pada AI Gateway” dan ditandai Kritis. Dokumen ini memberikan vektor CVSS 3.1 sebagai AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H — dapat dijangkau melalui jaringan, kompleksitas serangan rendah, memerlukan hak istimewa rendah, tanpa interaksi pengguna, cakupan berubah, dan dampak tinggi terhadap kerahasiaan, integritas, serta ketersediaan. Vektor itu layak dibaca karena tepat dalam menggambarkan penyerang: hak istimewa rendah, tetapi tetap saja hak istimewa. Advisori tersebut menyebut “pengguna terautentikasi dengan akses Duo Agent Platform” dan berhenti di situ. Dokumen itu tidak menyebutkan peran, izin, atau kondisi yang dirujuk oleh frasanya sendiri, “dalam kondisi tertentu”.

Tidak menerbitkan proof of concept, tidak menjelaskan konfigurasi alur yang direkayasa, dan tidak menawarkan solusi sementara bagi gateway yang tidak dapat segera diperbarui. Hacker News, dalam laporannya pada 2 Oktober, mencatat kekosongan yang sama dan menambahkan satu hal yang penting secara operasional: advisory tersebut tidak memberikan cara untuk memeriksa apakah sebuah gateway telah diserang sebelum ditambal. Security Affairs, yang menulis pada hari berikutnya, mencatat celah yang sama.

Entri enumerasi kelemahan umum yang dilampirkan pada CVE adalah CWE-1336, netralisasi yang tidak tepat terhadap elemen khusus yang digunakan dalam mesin templat. Advisory GitLab tidak pernah menggunakan kata Jinja. Dokumentasi repositori AI Gateway sendiri menggunakannya: dokumen prompt-registry-nya menjelaskan file konfigurasi prompt yang "mendukung ekspresi Jinja untuk berbagai peran seperti pengguna dan sistem", dan menjelaskan kelas Prompt yang "menggunakan Jinja untuk menginterpolasi templat prompt dengan argumen masukan". Celah yang dijelaskan CVE adalah celah yang menjadi ciri khas kelas mesin tersebut — teks yang disediakan pengguna mencapai templat yang dievaluasi alih-alih dicetak.

Mengapa sebuah perintah pada host tertentu ini bernilai 9.9

AI Gateway bukanlah sidecar. Menurut dokumentasi self-hosted GitLab, komponen ini menerima permintaan dari GitLab, menyusun prompt, dan berkomunikasi dengan backend model — server vLLM, A​mazon Bedrock, Azure O​penAI, atau penyedia eksternal — dan dalam penerapan yang sepenuhnya self-hosted, komponen inilah yang menjaga prompt dan respons tetap berada di dalam jaringan organisasi itu sendiri. Panduan instalasi AI Gateway dari GitLab juga menginstruksikan administrator untuk membuat pasangan kunci penandatanganan dan meneruskan kedua bagiannya ke layanan sebagai variabel lingkungan, yaitu AIGW_SELF_SIGNED_JWT__SIGNING_KEY dan AIGW_SELF_SIGNED_JWT__VALIDATION_KEY (dengan padanan untuk Duo Workflow). Security Affairs menyatakan konsekuensinya secara eksplisit: eksekusi perintah pada gateway membuat penyerang berada di dalam host yang menyimpan materi penandatanganan JWT dan berada di jalur antara instans GitLab dan infrastruktur model.

Itulah perbedaan antara sandbox escape di lingkungan mainan dan yang ada di produksi. Escape tersebut tidak perlu menjangkau model; ia perlu menjangkau proses yang memegang kunci yang dipakai untuk menandatangani panggilan model.

Dokumentasi produk GitLab, secara terpisah dari advisory, menyatakan bahwa membuat atau mengedit alur khusus memerlukan peran Maintainer atau Owner di proyek pengelola, dan bahwa menjalankannya memerlukan Developer atau lebih tinggi. Advisory tersebut tidak mengonfirmasi pemetaan itu, dan The Hacker News mencatat bahwa tidak ada peran yang disebutkan selain "{{1}}Duo Agent Platform access{{/1}}". Pembaca yang memperkirakan eksposur mereka sendiri harus menganggap dokumentasi sebagai model izin produk dan diamnya advisory sebagai tepat itu: diam, bukan kontradiksi.

Mapan, dan tidak mapan

Bidang-bidang pada catatan itu sendiri konsisten dengan semua yang di atas dan tidak menambahkan apa pun yang tidak ada dalam advisory tersebut. Berikut ini adalah rincian pembagian yang tidak bisa diperoleh pembaca dari ringkasan satu baris.

• Menetapkan: kerentanan tingkat keparahan kritis di GitLab AI Gateway, diungkapkan pada 2 Oktober 2026, CVSS 9.9, CWE-1336, dapat dijangkau oleh pengguna Duo Agent Platform yang terautentikasi melalui konfigurasi alur yang dirancang khusus, sehingga mengakibatkan eksekusi perintah pada host gateway.

• Ditetapkan: rentang yang terdampak — semua versi AI Gateway dari 18.1.6 sebelum 19.2.4, 19.3 sebelum 19.3.2, dan 19.4 sebelum 19.4.1 — dan versi yang telah diperbaiki, 19.2.4, 19.3.2, dan 19.4.1.

• Terkonfirmasi: Gateway yang dihosting GitLab telah ditambal sebelum publikasi dan pelanggan mereka tidak perlu melakukan tindakan apa pun; operator yang melakukan hosting sendiri telah dihubungi secara langsung sebelum postingan rilis, yang dinyatakan GitLab dalam advisori itu sendiri.

• Ditetapkan: kredit pelapor, kepada invisiblemeerkat, dan tidak adanya pernyataan apa pun tentang eksploitasi di alam liar.

• Belum dapat dipastikan:apakah ada pihak yang mengeksploitasinya. Penilaian CISA SSVC bertanggal 2 Oktober 2026 dan terlihat dalam catatan NVD menyatakan eksploitasi sebagai "tidak ada", dapat diotomatiskan sebagai "tidak", dan dampak teknis sebagai "total"; katalog CISA Known Exploited Vulnerabilities tidak mencantumkan CVE-2026-90970 dalam revisinya per 20 Oktober 2026, yang saya periksa secara langsung. Model EPSS FIRST menempatkan probabilitas eksploitasi dalam 30 hari berikutnya pada 0,94 persen pada 21 Oktober 2026 — rendah, dan bukan nol.

• Tidak dapat dipastikan: berapa banyak gateway yang dihosting sendiri ada, berapa banyak yang terekspos, atau apakah ada yang diserang sebelum penambalan. Tidak ada sumber dalam catatan ini yang memberikan jumlah, dan advisory GitLab tidak menyediakan metode deteksi.

HTML card headed 'CVE-2026-90970 · GitLab AI Gateway', titled 'What the record establishes — and what it does not', subtitled with the sources: the GitLab AI Gateway advisory of 2 October 2026 and the NVD record for CVE-2026-90970, with the archive classification confidence A, not disputed, real harm recorded as false. Two columns run side by side. The left column, headed 'Established' in blue, lists eight items: CVSS 9.9 critical with the vector AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H; CWE-1336, improper neutralisation of special elements used in a template engine; an authenticated user with Duo Agent Platform access escaping the prompt template sandbox through a specially crafted flow configuration; arbitrary command execution on the AI Gateway; affected AI Gateway 18.1.6 before 19.2.4, 19.3 before 19.3.2 and 19.4 before 19.4.1; fixed in 19.2.4, 19.3.2 and 19.4.1, released 2 October 2026; GitLab-hosted gateways already patched; and credit to the HackerOne researcher invisiblemeerkat through coordinated disclosure. The right column, headed 'Not established' in amber, lists eight items: no exploitation reported, since the advisory does not say the flaw was used in attacks; CISA's SSVC assessment of 'none', dated 2 October 2026 in the NVD entry, with automatable 'no' and technical impact 'total'; no proof of concept and no technical detail of the crafted flow configuration; no exposure count, since nothing in the cited sources says how many self-hosted gateways exist or ran an affected version; no detection method; no workaround; no named role beyond 'Duo Agent Platform access'; and no fix below 19.2.4. A footer reads 'Facts as published by GitLab and NVD. Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

Rentang yang terdampak, dan versi yang tidak mencantumkan perbaikan

Aritmetika versi tidak serapi yang disiratkan oleh tiga rilis perbaikan. Rentang terdampak dimulai pada 18.1.6, dan tidak ada rilis perbaikan yang diterbitkan pada jalur mana pun di bawah 19.2.4. Setiap gateway dari 18.1.6 hingga seri 19.1 karenanya berada di dalam rentang terdampak yang disebutkan tanpa versi yang ditambal yang disebutkan untuknya. The Hacker News menandai konsekuensi yang sama dan pertanyaan-pertanyaan berikut: dokumentasi instalasi GitLab memberi tahu administrator untuk menjalankan image gateway yang versinya cocok dengan versi minor GitLab mereka, dan advisory tersebut tidak menyatakan apakah gateway 19.2.4 berfungsi terhadap GitLab 19.1 atau lebih lama, maupun apakah perbaikan untuk jalur-jalur lama direncanakan. Kebijakan versi yang didukung GitLab, sebagaimana dicatat The Hacker News, saat ini mencantumkan 19.4, 19.3, dan 19.2 — tiga jalur yang sama yang menerima perbaikan.

Remediasi adalah penukaran container, bukan patch: gateway dikirimkan sebagai image Docker atau chart Helm tersendiri. Panduan instalasi GitLab menjelaskan cara menghentikan dan menghapus container yang sedang berjalan, menarik image baru dengan tag self-hosted-vX.Y.Z-ee, lalu memulainya kembali dengan variabel lingkungan tetap utuh; deployment Helm menetapkan tag di field image pada chart. Baik advisory maupun panduan instalasi tidak menawarkan signature atau indikator yang dapat membedakan gateway yang diserang dari gateway yang bersih.

HTML card headed 'GitLab AI Gateway · affected and fixed', titled 'Three fixed releases, and older lines with none', subtitled 'Version ranges as published in the GitLab advisory of 2 October 2026. The advisory does not say whether fixes for the 18.x and 19.1 lines are planned.' Four horizontal bars follow, one per release line. The first, labelled '18.1.6 to 19.1' with the note 'no fixed release listed', is a single hatched amber bar reading 'affected, no patched version named' across the full width. The second, labelled '19.2 line' with the note 'affected before 19.2.4', is a short amber segment reading '18.1.6 – 19.2.3' followed by a blue segment reading 'fixed in 19.2.4'. The third, labelled '19.3 line' with the note 'affected before 19.3.2', is an amber segment reading '19.3.0 – 19.3.1' followed by a blue segment reading 'fixed in 19.3.2'. The fourth, labelled '19.4 line' with the note 'affected before 19.4.1', is an amber segment reading '19.4.0' followed by a blue segment reading 'fixed in 19.4.1'. A legend below reads 'Affected range' and 'Patched release', with the note 'GitLab-hosted AI Gateways were patched before publication.' A footer reads 'Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

Kelas bug yang sama, delapan bulan sebelumnya

Ini bukan pertama kalinya GitLab merilis nilai 9,9 untuk injeksi templat di AI Gateway. Pada 6 Februari 2026, GitLab merilis AI Gateway 18.6.2, 18.7.1, dan 18.8.1 untuk CVE-2026-1868, yang dalam advisory tersebut dijelaskan sebagai "Insecure Template expansion issue" yang membuat komponen Duo Workflow Service "rentan terhadap ekspansi templat tidak aman atas data yang dipasok pengguna melalui definisi Duo Agent Platform Flow yang dirancang khusus", yang dapat digunakan untuk denial of service atau eksekusi kode pada gateway. Vektor CVSS identik dengan vektor Oktober, karakter demi karakter, dan CWE juga sama. Pelapornya berbeda: yang itu ditemukan secara internal, oleh anggota tim GitLab Joern Schneeweisz.

Advisory Oktober tidak menyebut yang Februari, dan The Hacker News menyatakannya secara eksplisit. Apakah keduanya berbagi akar masalah, perbaikan yang tidak bertahan, atau sekadar bahasa dan model ancaman, bukan hal yang dijawab oleh kedua dokumen publik tersebut. Yang tercatat adalah bahwa mesin templat dalam komponen middleware AI kini telah menghasilkan dua advisory eksekusi perintah kritis dengan skor yang sama pada tahun yang sama, dan bahwa yang kedua memerlukan peneliti luar untuk menemukannya.

Apa yang berubah, dan apa yang masih harus diputuskan oleh operator

Perubahan konkretnya adalah tiga tag image dan satu putaran penjangkauan langsung. GitLab mengatakan bahwa mereka menghubungi pelanggan gateway yang di-host sendiri sebelum menerbitkan, dan advisory tersebut dirilis bersamaan dengan image yang diperbaiki pada hari yang sama. Bagi semua pihak lainnya — GitLab.com, GitLab Dedicated, dan instance yang dikelola sendiri yang diarahkan ke gateway yang di-host GitLab — perbaikannya sudah diterapkan di sisi server dan, menurut GitLab, tidak ada yang perlu dilakukan.

Bagi operator self-hosted, keputusannya lebih sempit dan kurang nyaman dibandingkan siklus patch normal. Tidak ada solusi alternatif untuk gateway yang tidak dapat segera dipindahkan. Tidak ada metode yang telah dirilis untuk memastikan apakah host telah disusupi sebelumnya, yang berarti satu-satunya opsi retrospektif adalah opsi biasa: perlakukan container sebagai sistem yang integritasnya belum terbukti, dan cari tanda-tanda eksekusi di luar perilaku normalnya. Dan untuk gateway pada 18.x atau 19.1, advisory tersebut tidak menyebutkan versi target sama sekali — sebuah kelalaian yang dilaporkan The Hacker News dan tidak dibahas dalam pemberitahuan GitLab.

Klasifikasi arsip itu sendiri sengaja dibuat lebih sempit daripada klasifikasi vendor. Arsip mencatat entri ini sebagai kerentanan, dengan keyakinan A dan sumber-sumber yang sepakat, tidak diperdebatkan, tanpa kerugian nyata yang tercatat, serta dengan bidang tingkat keparahan "high" versus "critical" milik GitLab dan NVD. Itu semua adalah jawaban untuk pertanyaan yang berbeda: skor tersebut menggambarkan apa yang dapat dilakukan oleh cacat tersebut, sedangkan peringkat arsip menggambarkan apa yang diketahui telah terjadi. Dalam catatan publik, tidak terjadi apa-apa — tidak ada eksploitasi, tidak ada korban, tidak ada laporan insiden. Nilai dari entri ini adalah bahwa entri tersebut mendokumentasikan, dengan nomor CVE dan versi yang telah diperbaiki, secara tepat bagaimana sebuah templat prompt menjadi baris perintah di middleware yang menjadi tumpuan fitur AI perusahaan.

Abstract illustration on a dark navy field: two rounded server racks stand on a plain surface. In front of them, a translucent panel etched with faint brace-shaped lines has a single hairline fracture running from its lower corner to the floor, and through that fracture a thin amber thread passes to a small glowing node at the base of the nearer rack. The second rack is untouched and unlit. No text, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.