Bug Squid Proxy Berusia 29 Tahun, 'Squidbleed', Bocorkan Data HTTP Pengguna Lain
Baca dalam 60 detik
- Kerentanan heap over-read pada Squid proxy memungkinkan pengguna terpercaya membocorkan permintaan HTTP mentah pengguna lain, termasuk kredensial dan token sesi.
- Cacat ini berakar dari perubahan kode FTP tahun 1997 dan masih aktif di konfigurasi default Squid, dengan skor CVSS 6.5 (moderat).
- Peneliti merekomendasikan penonaktifan FTP pada proxy sebagai langkah mitigasi utama, karena protokol tersebut jarang digunakan dan menghilangkan permukaan serangan.

Sebuah kerentanan heap over-read pada Squid web proxy yang telah berusia 29 tahun, dijuluki Squidbleed (CVE-2026-47729), dapat membocorkan permintaan HTTP mentah pengguna lain—lengkap dengan kredensial atau token sesi—kepada siapa pun yang sudah diizinkan mengirim lalu lintas melalui proxy yang sama. Temuan dari peneliti Calif.io ini mengingatkan pada celah Heartbleed yang legendaris, karena mekanisme kebocoran memorinya serupa.
Celah ini berakar dari perubahan kode parser FTP yang dilakukan pada tahun 1997 dan masih aktif dalam konfigurasi default Squid. Menurut laporan yang dirilis Juni lalu, serangan hanya dapat dilakukan oleh trusted client—pengguna yang sudah memiliki akses ke proxy, bukan sembarang host di internet. Hal ini membuat Squidbleed sangat relevan di lingkungan jaringan bersama seperti sekolah, kantor, dan Wi-Fi publik, di mana penyerang hanyalah pengguna lain dari proxy yang sama.
Kebocoran hanya terjadi pada lalu lintas yang dapat dibaca Squid. Koneksi HTTPS normal menggunakan terowongan CONNECT yang tidak tembus pandang, sehingga Squid tidak pernah melihat isinya. Data yang terekspos adalah HTTP mentah, plus koneksi TLS-terminating di mana Squid melakukan dekripsi dan inspeksi. Penyerang juga perlu mengarahkan proxy ke server FTP yang mereka kendalikan di port 21—port yang aktif secara default.
Mekanisme teknis Squidbleed terletak pada parser daftar direktori FTP Squid. Untuk menangani server NetWare lama yang menambahkan spasi ekstra, kode melewatkan spasi putih dengan loop while (strchr(w_space, *copyFrom)) ++copyFrom;. Jika server FTP penyerang mengirim baris daftar yang berakhir tepat setelah timestamp tanpa nama file, pointer copyFrom mendarat di null terminator string. Fungsi strchr memperlakukan NUL tersebut sebagai bagian dari string, sehingga loop tidak pernah berhenti dan membaca melampaui batas buffer. Data yang bocor kemudian disalin oleh xstrdup sebagai nama file.
Yang membuat celah ini berbahaya adalah Squid menggunakan kembali buffer memori yang telah dibebaskan tanpa menghapus isinya. Buffer 4KB yang sebelumnya menyimpan permintaan HTTP korban masih menyimpan sebagian besar data tersebut. Baris FTP pendek hanya menimpa beberapa byte pertama; over-read mengembalikan sisanya. Dalam demonstrasi, peneliti Calif.io berhasil mengekstrak header Authorization dari korban yang berbagi proxy yang sama—cukup untuk bertindak sebagai pengguna tersebut. Kode proof-of-concept telah dipublikasikan, namun belum ada laporan eksploitasi di alam liar.
Bagi pengguna Squid di Indonesia—yang banyak digunakan di institusi pendidikan, perkantoran, dan penyedia layanan internet—langkah mitigasi paling efektif adalah menonaktifkan protokol FTP pada proxy. Seperti diungkapkan peneliti, Chromium telah menghentikan dukungan FTP bertahun-tahun lalu, dan sebagian besar jaringan hampir tidak membawa lalu lintas FTP. Menonaktifkannya menghilangkan permukaan serangan ini secara gratis, apa pun versi Squid yang dijalankan. Jika tetap ingin mempertahankan FTP, admin harus memastikan patch telah terpasang dengan memeriksa file FtpGateway.cc atau backport dari distributor (Debian misalnya, masih menggunakan Squid 5.7).
Menariknya, peneliti Calif.io mengungkapkan bahwa kecerdasan buatan berperan dalam menemukan celah ini. Model Claude Mythos Preview dari Anthropic—yang juga menjadi tulang punggung Project Glasswing—berhasil mendeteksi keanehan fungsi strchr hampir secara instan. Ini menandakan bahwa AI agent mulai efektif dalam memburu bug parser tersembunyi, seperti yang sebelumnya terjadi pada FFmpeg. Pertanyaan yang kini mengemuka: apakah masih ada celah serupa yang bersembunyi di kode warisan Squid lainnya?



