Sebuah kerentanan kerusakan memori pada komponen dekoder Brotli buatan Google ditemukan bersarang di dalam berbagai program yang mengekstrak kompresi data Brotli, termasuk pada runtime Bun, modul Python Brotli dan brotlicffi, serta proksi Envoy yang dikonfigurasi guna mendekompresi berkas Brotli.
Didaftarkan dalam sistem pelacakan CVE-2026-111497, kelemahan ini memungkinkan data terkompresi yang dirancang secara khusus untuk menulis melampaui batas buffer dan mengacaukan susunan memori aplikasi, yang berpotensi memicu kegagalan sistem, kebocoran memori, hingga pengeksekusian kode dari jarak jauh oleh penyerang.
Para periset dari Imperva berhasil mendemonstrasikan bahwa eksekusi kode memang dapat dijalankan pada salah satu versi Node.js yang belum ditambal. Namun pengujian serupa belum pernah dibuktikan terhadap perangkat lunak lain yang terdampak, dan saat ini belum ditemukan adanya serangan nyata di dunia maya.
Celah keamanan ini pertama kali diungkap ke publik pada tanggal 21 Oktober ketika Node.js bersama Google merilis paket perbaikan, sebelum akhirnya penambalan disusul oleh berbagai pengembang produk secara berkala. Berhubung masalah ini berakar di pustaka internal Google dan setiap piranti lunak menyematkan salinannya masing-masing, tiap pembuat aplikasi diwajibkan memperbarui salinan dekoder tersebut secara mandiri.
Brotli sendiri merupakan standar format kompresi dari Google yang digunakan luas di jaringan internet untuk mereduksi ukuran halaman situs dan beban data lainnya. Cacat sistem ini terdapat pada kode bahasa C yang bertugas mengekstrak aliran berkas Brotli, sehingga berdampak otomatis ke setiap piranti yang memanfaatkan kembali pustaka tersebut, mulai dari lingkungan eksekusi bahasa pemrograman, proksi jaringan, hingga pustaka pengembang Python.
Daftar Perangkat Lunak yang Terpengaruh
Sebuah sistem baru dikatakan rentan apabila sistem tersebut mendekompresi muatan data Brotli yang dikendalikan oleh pihak luar yang tidak tepercaya. Pada ekosistem Node.js dan Bun, peristiwa tersebut berlangsung sewaktu pemanggilan API bawaan fetch() menerima respons bermuatan header Content-Encoding: br, atau ketika modul pembaca payload HTTP seperti Express 5 dan body-parser 2 memproses unggahan berformat Brotli. Server HTTP bawaan Node.js yang mendasar tidak mendekompresi bagian isi request secara otomatis.
Sistem Envoy serta Istio hanya berada dalam risiko jika fungsi dekompresi Brotli diaktifkan secara manual, sebagai contoh melalui pemasangan filter Envoy. Apabila pengaturan tersebut dinonaktifkan, celah ini mustahil dapat dieksploitasi oleh pihak luar.
Pada bahasa Python, potensi ancaman muncul semata-mata karena paket Brotli atau brotlicffi terpasang di dalam lingkungan virtual. Ketika salah satu paket terinstal, klien protokol HTTP populer mencakup requests, urllib3, httpx, dan aiohttp bakal secara mandiri mendekompresi seluruh kiriman respons Brotli, sehingga aplikasi dapat terdampak tanpa pernah mengimpor pustaka Brotli di kode aplikasinya.
Penggunaan web application firewall hanya memberi pertahanan secara terbatas. Penyedia infrastruktur cloud Vercel, yang telah menerapkan serangkaian aturan firewall baru pada tanggal pengumuman kerentanan, menyatakan bahwa sistem proteksi mereka tidak menyaring respons yang ditarik oleh fungsi komputasi dari server luar. Guna menutup jalur kebocoran tersebut, pembaruan pada runtime sistem atau dependensi pustaka menjadi keharusan mutlak.
Tingkat bahaya eksploitasi celah ini sangat bergantung pada arsitektur perangkat lunak yang diserang. Kelompok Red Team Imperva melalui proyek pengujian mereka bertajuk Node2Shell, berhasil menjalankan kode kiriman penyerang pada distribusi resmi Node.js 24.22.0 arsitektur Linux ARM64, yang disuntikkan baik melalui respons fetch maupun badan muatan permintaan Express. Eksploitasi itu menuntut beberapa kali percobaan eksekusi, belum dipublikasikan bebas, dan tidak diuji coba pada build lainnya.
Pihak OpenAI melalui tim Codex Security yang menemukan kerentanan ini, menjabarkannya sebagai celah yang memfasilitasi eksekusi kode jarak jauh tanpa otentikasi di dalam modul Brotli, serta mencantumkan Node.js, Bun, dan Envoy sebagai ekosistem terdampak. Berdasarkan pemaparan mereka, eksploitasi celah bekerja dalam dua arah masukan data.
Hingga kini belum ada aktivitas penyerangan liar yang terdeteksi di internet. Catatan evaluasi keamanan CISA pada tanggal 23 Oktober mengkategorikan eksploitasi pada tingkatan none dan status otomatisasi di level no, sementara pihak Red Hat menegaskan ketiadaan bukti konsep serangan yang terbukti andal di ruang publik untuk memicu eksekusi kode liar.
Skor keparahan bervariasi bergantung pada lembaga penilai. Google yang menetapkan kode CVE memberikan skor 9.2 bertaraf kritikal pada skala standar CVSS 4.0. Pihak pengembang Node.js mengelompokkannya di taraf tinggi, sedangkan penilaian Red Hat mematok nilai 8.1 pada tingkat penting.
Proses perbaikan celah memiliki latar belakang historis yang unik. Tambalan yang menyembuhkan bug sejatinya sudah dimasukkan ke dalam basis kode sumber Brotli sejak 27 Februari, tetapi tidak ada edisi rilis baru Brotli yang memuatnya hingga tanggal 21 Oktober. Pihak OpenAI mengungkapkan bahwa akar masalah sejatinya sudah diperbaiki pada kode sumber Brotli di bulan Februari, tetapi saat itu belum disadari bahwa galat tersebut memicu lubang keamanan serta belum tersedianya edisi versi terbaru dari pustaka Brotli.
Pengelola Node.js secara resmi mengapresiasi Khai Tran dan Sylvie Mayer dari tim Codex Security OpenAI atas temuan celah keamanan ini, serta memuji pengelola internal Matteo Collina bersama Antoine du Hamel atas pembuatan paket perbaikannya.
Pengguna diinstruksikan segera memperbarui dependensi ke edisi yang telah diperbaiki berdasarkan panduan rilis, kemudian melakukan booting ulang terhadap layanan dan membangun ulang seluruh berkas image kontainer, mengingat proses aplikasi yang masih aktif terus memuat dekoder usang hingga server dimulai kembali.
Apabila proses instalasi perbaikan belum dapat dilakukan saat ini, langkah pengamanan wajib adalah mematikan dekompresi muatan Brotli yang tidak tepercaya. Tim OpenAI dan entitas keamanan Aikido secara bersamaan menganjurkan proteksi tersebut.
Langkah sekadar menghapus nilai br dari komponen header Accept-Encoding dinilai tidak cukup ampuh, mengingat server tujuan tetap berpotensi menyodorkan berkas Brotli tanpa memedulikan permintaan klien. Bagi pengguna sistem Node.js, belum tersedia solusi mitigasi sementara selain memperbarui versi runtime secara menyeluruh sebagai satu-satunya perbaikan resmi.
Pembaruan paket sistem operasi hadir dalam linimasa bertahap. Distribusi Debian telah merilis perbaikan untuk paket brotli pada sistem Debian 13 trixie tanggal 23 Oktober melalui nomor rilis 1.1.0-2+deb13u1. Di lain pihak, repositori Amazon Linux 2023 masih mencatat status paket brotli dan Node.js 24 berstatus menanti perbaikan per 22 Oktober.
Alat pemeriksa dependensi otomatis kemungkinan belum mampu mendeteksi keberadaan risiko pada modul Python. Pendaftaran resmi rekaman CVE hanya merujuk repositori Brotli Google bukan pada modul PyPI, serta laman nasihat GitHub belum menyematkan daftar paket terdampak yang umumnya menjadi rujukan bagi Dependabot. Entri penasihat resmi bagi kedua modul Python berkode PYSEC-2026-4322 dan PYSEC-2026-4323 baru dicatatkan pada 23 Oktober, sehingga pengguna disarankan turut memeriksa versi paket terpasang secara mandiri.



