CVE-2026-111497, yang dikenal sebagai HTTP2Shell atau Node2Shell, merupakan kerentanan pada decoder Brotli yang dapat menyebabkan kerusakan memori hingga remote code execution (RCE). Kerentanan ini menjadi perhatian karena Brotli digunakan oleh berbagai runtime dan aplikasi, termasuk Node.js serta sejumlah library di ekosistem Python dan .NET.
Masalahnya bukan pada protokol HTTP/2, melainkan pada cara decoder menangani data terkompresi yang malformed. Aplikasi yang memproses input Brotli dari sumber tidak tepercaya berpotensi terdampak, tergantung implementasi dan jalur pemrosesan datanya.
Bagaimana Kerentanannya Bekerja?
CVE-2026-111497 berkaitan dengan kesalahan penanganan perpindahan blok dalam decoder Brotli berbasis C. Kondisi yang seharusnya dianggap sebagai input tidak valid dapat diperlakukan sebagai permintaan data tambahan, sehingga memicu penulisan data di luar batas buffer.
Dampaknya dapat berupa crash, korupsi memori, pengungkapan data, atau RCE dalam kondisi tertentu. Keberhasilan eksploitasi tidak otomatis sama pada setiap sistem karena bergantung pada implementasi, konfigurasi, dan proteksi runtime.
Produk dan Versi Terdampak
Berdasarkan informasi advisory yang dirujuk, komponen berikut perlu diperiksa:
| Produk atau library | Versi terdampak | Versi perbaikan |
|---|---|---|
| Google Brotli | 1.0.3–1.0.9, 1.1.0, 1.2.0 | 1.0.10, 1.1.1, 1.2.1 |
| Node.js 22.x | Sebelum 22.23.4 | 22.23.4 |
| Node.js 24.x | Sebelum 24.22.1 | 24.22.1 |
| Node.js 26.x | Sebelum 26.12.1 | 26.12.1 |
Python Brotli | Sebelum 1.2.1 | 1.2.1 |
Python brotlicffi | Sebelum 1.2.1.0 | 1.2.1.0 |
| Bun | Sebelum 1.4.4 | 1.4.4 |
| .NET 8 | Sebelum 8.0.33 | 8.0.33 |
| .NET 9 | Sebelum 9.0.22 | 9.0.22 |
| .NET 10 | Sebelum 10.0.14 | 10.0.14 |
| Envoy Proxy | Rilis terdampak sebelum patch | Periksa advisory sesuai cabang rilis |
| Istio | Rilis terdampak sebelum patch | Periksa advisory sesuai cabang rilis |
Tabel ini bukan daftar lengkap seluruh produk yang mungkin terdampak. Versi perbaikan bisa berbeda menurut vendor, distribusi Linux, dan mekanisme backport. Pastikan status setiap komponen melalui advisory resmi sebelum melakukan upgrade produksi.
Mengapa Patch OS Saja Tidak Cukup?
Tidak semua aplikasi menggunakan library Brotli yang disediakan sistem operasi. Runtime dapat membawa salinan dependensinya sendiri, sementara container menyimpan library di dalam image yang dibangun sebelumnya.
Akibatnya, memperbarui paket pada host tidak menjamin seluruh aplikasi sudah terlindungi. Tim infrastruktur perlu memeriksa dependensi aplikasi, memperbarui runtime, membangun ulang image yang terdampak, lalu melakukan redeploy dan memastikan proses lama sudah dihentikan.
Mitigasi
Prioritaskan layanan yang memproses data Brotli dari sumber tidak tepercaya, terutama aplikasi yang terekspos ke internet dan backend yang mengambil konten dari layanan eksternal. Jika patch belum tersedia, pertimbangkan untuk menonaktifkan dekompresi Brotli yang tidak diperlukan serta membatasi akses ke komponen yang rentan.
Memblokir request Brotli masuk saja tidak cukup. Aplikasi klien juga dapat terpapar ketika menerima respons terkompresi dari server eksternal.
Setelah patch diterapkan, periksa log crash, aktivitas proses yang tidak wajar, dan koneksi outbound yang menyimpang dari perilaku normal. Indikator tersebut bukan bukti pasti eksploitasi, tetapi dapat membantu investigasi jika ditemukan anomali.
Kesimpulan
HTTP2Shell menjadi pengingat bahwa satu library yang digunakan secara luas dapat memperluas permukaan serangan ke banyak ekosistem sekaligus. Tantangannya bukan hanya memasang patch, tetapi memastikan setiap runtime, dependensi, dan container yang terdampak benar-benar menggunakan versi yang telah diperbaiki
Status: Proof of Concept (PoC) tersedia.
Referensi
- NVD — CVE-2026-111497
- Node.js — October 2026 Security Releases
- BleepingComputer — Critical HTTP2Shell Brotli Vulnerability Triggers Emergency Patches
- BleepingComputer — Microsoft Releases Emergency .NET Patches for Critical Brotli Flaw
- Imperva — Node2Shell: From Brotli Data to Remote Code Execution
- Google Brotli — GitHub Repository
- Broccoli2Shell — Vulnerability Information

I’m Ryan, a Network Engineer from Indonesia focused on network infrastructure, Server Management, and system administration, with a background in network security and cybersecurity. I enjoy building, troubleshooting, and understanding complex systems from the ground up.
