Aplikasi kompresi file populer, 7-Zip, kembali menjadi sorotan setelah ditemukan celah keamanan kritis yang dapat dimanfaatkan hacker untuk menjalankan kode arbitrer pada sistem korban. Kerentanan ini ditemukan pada 7-Zip versi 26.00 dan dinilai cukup berbahaya karena bisa dieksploitasi hanya dengan membuka file berbahaya yang telah dimodifikasi.
Baca Juga : Bug Berbahaya di WinRAR Dimanfaatkan Hacker, Update Sekarang Juga!
Celah keamanan tersebut dilacak dengan kode CVE-2026-48095 dan advisory GHSL-2026-140. Bug ini berasal dari komponen penanganan arsip NTFS milik 7-Zip, tepatnya pada fungsi CInStream::GetCuSize() di file NtfsHandler.cpp.
Bagaimana Kerentanan Ini Bekerja?
Masalah utama muncul dari proses perhitungan ukuran buffer NTFS yang menggunakan operasi shift 32-bit berikut:
(UInt32)1 << (BlockSizeLog + CompressionUnit)
Dalam kondisi tertentu, file NTFS yang telah dimodifikasi dapat mengatur nilai ClusterSizeLog >= 28 dan CompressionUnit == 4. Kombinasi ini membuat operasi shift menghasilkan angka 32, yang memicu undefined behavior (UB) di bahasa pemrograman C++.
Pada perangkat berbasis x86, kondisi tersebut menyebabkan variabel _inBuf hanya dialokasikan sebesar 1 byte saja. Padahal, buffer tersebut kemudian dipakai dalam proses ReadStream_FALSE yang dapat menulis hingga 256 MB data buatan attacker ke dalam buffer berukuran sangat kecil tersebut.
Akibatnya, terjadi heap buffer overflow yang memungkinkan penyerang menimpa data penting di memori.
Bisa Ambil Alih vtable dan Jalankan Kode Berbahaya
Peneliti keamanan menjelaskan bahwa objek CInStream berada hanya sekitar 304 byte setelah _inBuf di heap memory. Saat proses pembacaan data berlangsung, pointer penting seperti vtable pointer bisa tertimpa oleh data berbahaya dari file NTFS yang telah dimodifikasi.
Pada iterasi berikutnya, program akan mencoba menggunakan vtable yang sudah rusak tersebut. Teknik ini dikenal sebagai vtable hijack, di mana hacker bisa mengontrol alur eksekusi program dan menjalankan kode arbitrer sesuai keinginannya.
Yang lebih mengkhawatirkan, kerentanan ini memengaruhi baik sistem 32-bit maupun 64-bit.
Di perangkat 64-bit dengan RAM 16 GB atau lebih, proses alokasi _outBuf.Alloc(8 GB) masih bisa berjalan sehingga eksploitasi dapat langsung terjadi. Sementara pada sistem dengan memori lebih kecil, dampaknya kemungkinan hanya sebatas Denial-of-Service (DoS).
Bisa Disamarkan Jadi File ZIP atau RAR
Salah satu aspek paling berbahaya dari bug ini adalah metode deteksinya yang tidak bergantung pada ekstensi file.
Handler NTFS di 7-Zip menggunakan metode deteksi berbasis signature dan akan mencari tanda "NTFS " pada offset byte ke-3. Artinya, file berbahaya bisa disamarkan menggunakan berbagai ekstensi seperti:
.7z.zip.rar- atau bahkan tanpa ekstensi sama sekali
Ketika pengguna membuka file tersebut, handler lain mungkin gagal mengenalinya dan akhirnya handler NTFS yang rentan akan memproses file tersebut secara otomatis.
Dengan kata lain, korban hanya perlu membuka file berbahaya tanpa interaksi tambahan apa pun agar eksploitasi bisa terjadi.
Skor CVSS Tinggi dan Semua Versi Terdampak
Kerentanan ini memiliki skor CVSS 3.1 sebesar 8.8 (High) dengan kategori:
- CWE-787 — Out-of-Bounds Write
- CWE-190 — Integer Overflow atau Wraparound
Seluruh versi 7-Zip hingga v26.00 dilaporkan terdampak karena kesalahan perhitungan GetCuSize() ini ternyata sudah ada sejak dukungan NTFS compressed stream pertama kali diperkenalkan.
Celah keamanan ini ditemukan dan dilaporkan secara bertanggung jawab oleh Jaroslav Lobačevski (@JarLob) dari GitHub Security Lab. Proses validasi dilakukan menggunakan UBSan (UndefinedBehaviorSanitizer) di lingkungan Linux x64 berbasis Clang yang berhasil mengidentifikasi akar masalah hingga menyebabkan error SIGSEGV.
Baca Juga : Hacker Manfaatkan AppSheet, Netlify, dan Telegram untuk Phishing Facebook
Pengguna Disarankan Segera Update
Untuk mencegah risiko eksploitasi, pengguna sangat disarankan segera memperbarui aplikasi ke 7-Zip versi 26.01 yang telah membawa perbaikan keamanan.
Selain itu, hindari membuka file arsip atau image disk dari sumber yang tidak terpercaya, meskipun file tersebut terlihat menggunakan ekstensi umum seperti ZIP atau RAR. Sebab, file berbahaya dapat menyamar dengan sangat meyakinkan dan memanfaatkan celah ini tanpa disadari pengguna.


