CVE-2026-111497: Satu Bug Brotli, Sembilan Runtime, dan Codex Agent yang Menemukannya
Guides & Insights

CVE-2026-111497: Satu Bug Brotli, Sembilan Runtime, dan Codex Agent yang Menemukannya

Penulis

Rowan Sterling

Tanggal Terbit

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

Hal yang janggal tentang CVE-2026-111497 adalah bahwa ini bukan satu kerentanan pada satu produk. Ini adalah satu penulisan di luar batas dalam dekompresor Brotli milik Google, dan bug yang sama dapat dijangkau melalui setidaknya delapan runtime dan proxy terpisah yang menyematkan pustaka tersebut — Node.js, .NET dan ASP.NET Core, Brotli serta brotlicffi milik Python, Bun, Envoy, Istio, dan implementasi Go murni. Pengukuran Wiz menempatkan 91% lingkungan cloud berisiko dan mencatat bahwa 82% di antaranya mengekspos Node.js secara publik. CISA telah menambahkannya ke katalog Known Exploited Vulnerabilities, dan Microsoft merilis patch darurat untuk .NET dan Visual Studio.

Paruh kedua cerita adalah siapa yang menemukannya: Khai Tran dan Sylvie Mayer dari OpenAI Codex Security, menurut tulisan Wiz dan kredit upstream. Itu adalah tim agen keamanan AI, dan kerentanan yang ditemukannya berada di pustaka dekompresi yang paling banyak tertanam di web.

Apa yang dilakukan bug tersebut

Brotli adalah format yang didekompresi oleh hampir setiap stack HTTP ketika server mengirim code>Content-Encoding: br/code>. Stream terkompresi yang cacat menyebabkan penulisan di luar batas selama dekompresi, dan skor CVSS v4 adalah 9.2. Rentang yang terdampak adalah Brotli 1.0.3 hingga 1.2.0, diperbaiki pada 1.0.10, 1.1.1, dan 1.2.1.

Yang menjadikannya sebuah program, bukan tiket, adalah bahwa pustaka itu di-vendor, ditautkan secara statis, atau diimplementasikan ulang di setiap runtime, sehingga perbaikannya tiba melalui jalur rilis yang berbeda dalam setiap kasus — dan kadang tidak sama sekali, karena distribusi standar suatu bahasa memiliki salinannya sendiri.

Daftar patch, yang merupakan bagian yang berguna

Setiap angka di bawah ini berasal dari ringkasan advisori Wiz dan rilis proyek terkait, yang dibaca pada 30 Oktober 2026.

• Google Brotli / libbrotli — terdampak 1.0.3–1.2.0, tidak termasuk backport yang telah ditambal; diperbaiki di 1.0.10, 1.1.1, 1.2.1.

• Python Brotli — terdampak 1.0.3–1.2.0; diperbaiki di 1.2.1. brotlicffi — terdampak 1.0.3–1.2.0.x; diperbaiki di 1.2.1.0.

• Node.js — terdampak 22.x, 24.x dan 26.x; diperbaiki di 22.23.4, 24.22.1 dan 26.12.1.

• Bun — terdampak 1.0.21–1.4.3; diperbaiki di 1.4.4.

• Envoy Proxy — terdampak 1.36.11, 1.37.7, 1.38.5, 1.39.2; diperbaiki di 1.36.12, 1.37.8, 1.38.6, 1.39.3 dan 1.40.0.

• Istio — terdampak 1.29.0–1.29.8, 1.30.0–1.30.5, 1.31.0–1.31.1; diperbaiki di 1.29.9, 1.30.6 dan 1.31.2.

• andybalholm/brotli (Go) — terdampak sebelum v1.2.7; diperbaiki di v1.2.7.

Baris Node.js adalah yang menentukan minggu sebagian besar orang. Layanan pada 22.22.x terekspos melalui stack HTTP-nya meskipun kode aplikasinya tidak pernah menyebut Brotli, karena dekompresi terjadi sebelum handler Anda dipanggil. Itu juga menjelaskan tiga nama yang dilekatkan industri kepadanya: Node2Shell untuk jalur Node, HTTP2Shell untuk jalur proxy yang didokumentasikan Check Point, dan Brotli2Shell dari JFrog untuk gambaran yang lebih luas.

Mengapa "91%" adalah angka yang perlu diperdebatkan

Angka-angka Wiz menggambarkan infrastruktur cloud pelanggan Wiz, bukan internet. Jumlah lingkungan yang memiliki pustaka rentan di salah satu bagiannya bukanlah jumlah layanan yang dapat dieksploitasi, dan perbedaannya besar: Brotli yang dibundel di dalam aplikasi desktop yang tidak pernah mendekompresi input tidak tepercaya merupakan temuan, bukan kerentanan. Versi statistik yang berguna lebih sempit — layanan yang menerima input terkompresi dari sumber tidak tepercaya, yang pada dasarnya adalah setiap endpoint HTTP publik yang diakhiri dengan code>br/code>.

Dua hal membuat eksploitasi menjadi masuk akal, bukan sekadar teoretis: penambahan oleh CISA ke katalog KEV menyiratkan adanya eksploitasi yang telah teramati, dan operator honeypot telah mencatat berbagai upaya. Ketika suatu celah masuk ke kolom "dieksploitasi di alam liar", tenggat patch berhenti menjadi kalender kendali perubahan Anda dan menjadi milik orang lain.

Penemuan adalah bagian dengan waktu paruh yang lebih panjang.

Tim keamanan sebuah model frontier menemukan bug keamanan memori di pustaka dekompresi yang telah dibaca oleh ribuan orang selama satu dekade. Itu bukan kisah tentang satu vendor yang cerdik; itu adalah pernyataan tentang cakupan. Analisis statis telah diarahkan ke Brotli selama bertahun-tahun, harness fuzzing sudah ada, dan bug itu tetap bertahan dari keduanya — sementara sebuah agen yang dirancang untuk membaca kode dengan niat menemukannya dan menghasilkan perbaikan yang diterima oleh upstream.

Asimetri itu berlaku dua arah. Kemampuan yang sama yang menemukan kelas bug ini akan menemukannya dalam kode yang Anda rilis. Pertanyaan bagi siapa pun yang mengoperasikan pengodean agentic bukanlah apakah agen dapat mengenali penulisan di luar batas; melainkan apakah temuan itu sampai kepada Anda sebelum sampai kepada orang lain.

Apa yang harus dilakukan, sesuai urutan kepentingannya

• Tambal runtime yang benar-benar Anda jalankan. Daftar pustaka di atas adalah sumbernya; mulailah dengan yang mengakhiri lalu lintas publik.

• Lalu carilah salinan yang di-vendor. Image dasar container, binary statis, build WASM, dan wheel bahasa masing-masing membawa Brotli sendiri, dan tidak satu pun akan muncul dalam audit package manager atas aplikasi. Pemindai inventaris tingkat repositori yang diterbitkan minggu ini menelusuri sistem file dan menilai setiap salinan Node, Bun, dan Brotli yang ditemukannya, yang merupakan titik awal lebih cepat daripada membuatnya sendiri.

• Bangun ulang, bukan tambal, bila memungkinkan. Mengganti pustaka yang ditautkan secara statis di dalam artefak hasil build adalah titik tempat orang tanpa sengaja mengirimkan biner yang baru setengah diperbaiki.

• Jika Anda menjalankan Envoy atau Istio sebagai edge, perlakukan perbaikan proxy sebagai prioritas tertinggi dalam kumpulan ini: proxy tersebut melakukan dekompresi atas nama semua yang berada di belakangnya.

• Periksa estate .NET Anda secara terpisah. Patch Microsoft mencakup .NET dan Visual Studio, dan versi yang benar adalah pembaruan runtime, bukan perubahan referensi paket.

Di mana posisi ini bagi pembaca kami

Sebagian besar yang dibahas blog ini adalah kemampuan model, harga, dan routing. Ini masuk di sini karena satu baris: cacat itu ditemukan oleh agen AI, dan kelas sistem yang menemukan bug semacam itu adalah kelas sistem yang sedang para pembaca kita hubungkan ke pipeline mereka. Agen pemindai repo yang berjalan di CI terhadap dependensi Anda kini merupakan kontrol keamanan, dan itu adalah runtime agen yang sama dengan yang menulis kode Anda.

Agent Firewall milik OrcaRouter menilai panggilan tool dan MCP sebelum dieksekusi, yaitu kontrol yang membatasi radius dampak agen; ini tidak membuat temuan agen menjadi benar, dan tidak ada bagian dari CVE ini yang merupakan klaim bahwa merutekan model mengurangi risiko rantai pasok. Hal yang berguna untuk diambil dari pekan ini lebih sempit dan dapat diperiksa: jika Anda memberi agen akses baca repositori untuk menemukan bug, pastikan patch yang diusulkannya dipatok ke versi tertentu, dan pastikan runtime yang mendasari stack Anda sendiri telah bergerak melewati 1.0.3–1.2.0.

Pola yang perlu diingat adalah bahwa kerentanan itu ada di dalam kode yang tidak dipilih oleh siapa pun. Brotli hadir sebagai dependensi transitif dari sebuah fitur runtime, diperbaiki di delapan tempat dengan jadwal terpisah, dan akan terus hadir di dalam image dasar yang dibangun sebelum minggu ini. Respons rantai pasok sebagian besar adalah disiplin untuk menemukan salinan yang tidak Anda pasang.

Catatan sumber: matriks versi terdampak dan yang diperbaiki, daftar runtime, serta angka paparan 91%/82% berasal dari ringkasan advisory Wiz yang dibaca pada 30 Oktober 2026, dan versi yang diperbaiki merupakan rilis resmi proyek-proyek tersebut. Skor CVSS v4 9,2 berasal dari catatan CVE. Kredit penemuan untuk Khai Tran dan Sylvie Mayer dari OpenAI Codex Security berasal dari tulisan Wiz dan kredit upstream. Pencantuman KEV oleh CISA dan patch .NET Microsoft merupakan pengumuman organisasi masing-masing; keduanya tidak dibaca sebagai dokumen primer di sini selain ringkasan advisory. Deskripsi pemindai inventaris merupakan deskripsi proyek GitHub pihak ketiga itu sendiri.