Repository redis-poc yang dirilis oleh berabuddies di GitHub menyediakan proof-of-concept untuk eksekusi kode jarak jauh pada beberapa versi Redis: 6.2.22, 7.4.9, 8.6.4, dan 8.8.0. Eksploitasi memanfaatkan dua kelas bug memory corruption yang berbeda, yaitu stream consumer-group shared-NACK double free untuk versi lama dan TDigest heap overflow pada modul RedisBloom untuk versi terbaru. Semua eksploit bersifat non-destructive dan memerlukan autentikasi, namun menunjukkan bahwa kerentanan mendalam masih ada pada perangkat lunak yang dianggap stabil.
APA YANG TERJADI?
Redis adalah penyimpanan data struktur dalam memori yang digunakan secara global untuk caching, session management, message broker, dan real-time analytics. Repository redis-poc merilis serangkaian skrip Python yang menunjukkan bagaimana penyerang dengan kredensial valid bisa mencapai eksekusi kode arbitrer pada server target. Untuk versi 6.2.22, 7.4.9, dan 8.6.4, teknik yang digunakan adalah stream consumer-group shared-NACK double free yang merupakan keluarga incomplete fix dari CVE-2026-25589. Untuk versi 8.8.0, di mana double free sudah diperbaiki melalui PR #15081, penyerang beralih ke TDigest heap overflow yang ada pada modul RedisBloom yang bundled secara default. Setiap versi memerlukan pendekatan exploit yang berbeda karena perubahan pada internal memory layout dan allocator behavior.
DETAIL TEKNIS
Eksploitasi untuk Redis 6.2.22 memerlukan flag DEBUG yang diaktifkan secara default pada image resmi, sementara eksploit untuk 7.4.9 dan 8.6.4 menggunakan teknik baru yang tidak memerlukan debug flag. Semua eksploit versi lama memanfaatkan perintah EVAL, RESTORE, dan XGROUP untuk membangun payload yang memicu double free pada struktur stream consumer-group. Eksploit untuk 8.8.0 memerlukan modul RedisBloom yang bundled secara default dan menggunakan teknik spraying tdigest structs untuk membangun deterministic jemalloc corridor. Repository menyertakan library libcrc64.so yang perlu dikompilasi dari kode C untuk membangun payload RESTORE yang valid. Post-run residue meninggalkan beberapa exploit keys yang bersifat inert, sementara eksploit 8.8.0 meninggalkan sekitar 2.000 struct tdigest yang di-zeroize plus satu corrupted oracle key. Semua eksploit memerlukan Python 3.6+ dan gcc tanpa dependensi pip tambahan.
DAMPAK TERHADAP INDONESIA
Redis digunakan secara luas di Indonesia oleh startup teknologi, platform e-commerce, fintech, dan aplikasi real-time untuk caching, manajemen sesi pengguna, serta leaderboard. Banyak deployment Redis di Indonesia yang terexpose ke internet dengan password lemah atau bahkan tanpa autentikasi sama sekali karena konfigurasi default yang tidak diubah. RCE pada Redis membuka jalan langsung ke server aplikasi utama, basis data, message queue, dan jaringan internal. Bagi sektor fintech yang semakin bergantung pada teknologi real-time untuk transaksi dan notifikasi, kompromi pada server Redis bisa berarti akses ke data keuangan pengguna dan kemampuan manipulasi transaksi secara real-time.
REKOMENDASI MITIGASI
Administrator sistem harus segera memperbarui Redis ke versi terbaru yang tersedia dan memastikan bahwa patch untuk CVE-2026-25589 family telah diterapkan. Perintah EVAL harus dinonaktifkan jika tidak diperlukan untuk operasional, karena perintah tersebut sering menjadi primitif penting dalam rantai eksploitasi. Akses Redis harus dibatasi melalui BIND ke localhost atau antarmuka jaringan internal yang tersegmentasi. Autentikasi yang kuat wajib diaktifkan pada setiap instance Redis, baik pada lingkungan development maupun production. Monitoring harus difokuskan pada perintah XGROUP dan RESTORE yang berasal dari sumber IP atau sesi yang mencurigakan. Untuk container environment, setiap instance Redis harus berjalan pada namespace terpisah dengan resource quota yang ketat.
Analisa Retasan
Rilis PoC untuk multiple Redis versions menunjukkan bahwa perangkat lunak yang dianggap stabil dan production-ready masih menyimpan bug memory corruption yang signifikan. Double free pada stream consumer-group adalah kelas bug yang muncul dari kompleksitas manajemen memori pada fitur streaming, di mana NACK (not acknowledged) message tracking melibatkan pointer sharing yang sangat rumit antara multiple consumer dan group. Incomplete fix dari CVE-2026-25589 menunjukkan bahwa patch sebelumnya tidak menangani root cause secara menyeluruh, mirip dengan pola yang sering terlihat pada software dengan codebase besar yang menerima patch cepat tanpa analisis dampak menyeluruh pada semua execution path yang terlibat.
TDigest heap overflow pada Redis 8.8.0 menunjukkan bahwa modul bundled yang dikembangkan oleh pihak ketiga, dalam hal ini RedisBloom, memperkenalkan permukaan serangan baru ke dalam produk inti. Teknik spraying tdigest structs untuk membangun jemalloc corridor adalah pendekatan heap grooming yang sophisticated, memerlukan pemahaman mendalam tentang allocator behavior dan layout memori spesifik pada versi target. Fakta bahwa eksploit ini layout-sensitive dan sangat direkomendasikan menggunakan instance segar menunjukkan bahwa kerentanan mungkin sulit dieksploitasi pada deployment produksi yang aktif dengan beban kerja yang kompleks. Namun, pada container environment atau instance testing yang baru diinisialisasi, kondisi ini jauh lebih mudah dipenuhi, menjadikan lingkungan CI/CD dan staging sebagai target yang menarik.
Bagi ekosistem teknologi Indonesia, Redis sering di-deploy dengan konfigurasi default yang tidak aman. Banyak tutorial lokal yang mengajarkan instalasi Redis tanpa autentikasi untuk kemudahan development, namun konfigurasi tersebut sering kali tertinggal di production tanpa perubahan. RCE pada Redis adalah ancaman yang sangat serius karena server ini biasanya memiliki koneksi langsung ke basis data utama, infrastruktur message queue, dan sistem autentikasi. Organisasi yang menggunakan Redis harus segera melakukan audit konfigurasi menyeluruh: memastikan autentikasi diaktifkan, akses dibatasi ke jaringan internal, dan perintah EVAL dinonaktifkan jika tidak diperlukan. Program bug bounty lokal dan platform seperti HackerOne perlu menambahkan Redis misconfiguration dan memory corruption ke dalam scope yang lebih luas agar kerentanan serupa bisa ditemukan sebelum dieksploitasi oleh aktor ancaman.
Sumber: berabuddies/redis-poc