Kerentanan yang dijuluki HollowByte memungkinkan penyerang yang tidak diautentikasi memicu kondisi penolakan layanan (DoS) pada server OpenSSL dengan muatan berbahaya hanya 11 byte.
Tim OpenSSL telah memperbaiki kerentanan secara diam-diam (tidak ada pengidentifikasi yang ditetapkan) dan melakukan backport patch ke rilis yang lebih lama.
Karena perangkat lunak OpenSSL adalah tulang punggung dasar untuk komunikasi internet yang aman, organisasi harus memprioritaskan peralihan ke versi perpustakaan yang tetap.
Detail HollowByte
Dalam sebuah nasihat awal pekan ini, Tim Merah Okta menjelaskan cara kerja kerentanan HollowByte DoS dan dampaknya dalam skenario dunia nyata.
Para peneliti menjelaskan bahwa dalam jabat tangan TLS, setiap pesan memiliki header 4-byte untuk menyatakan ukuran pesan masuk. Namun, versi OpenSSL yang rentan mengalokasikan panjang yang dinyatakan sebelum menerima payload dan memeriksa ukurannya.
Setiap pesan jabat tangan TLS dimulai dengan header jabat tangan 4 byte, dengan bidang sepanjang tiga byte mengungkapkan ukuran data jabat tangan yang harus diikuti.
Tanpa memvalidasi payload, server mempercayai klaim paket dan mengalokasikan memori yang ditentukan. “Thread pekerja kemudian memblokir, menunggu tanpa batas waktu untuk data yang tidak akan pernah sampai,” Okta menjelaskan.
Penyerang yang tidak diautentikasi dapat memicu HollowByte dengan membuka koneksi TLS dan mengirimkan input berbahaya berukuran 11 byte dengan header yang menyatakan bahwa isi pesan yang jauh lebih besar akan mengikuti.
Penyerang mengulangi proses yang sama di beberapa koneksi, menyebabkan server mengalokasikan sejumlah besar memori melalui sejumlah kecil data yang dikirimkan.
Peneliti Okta mencatat bahwa meskipun OpenSSL membebaskan buffer ketika koneksi terputus, GNU C Library (glibc) memiliki cara berbeda untuk menangani memori dan “tidak segera mengembalikan alokasi kecil hingga menengah ke sistem operasi; namun menyimpannya untuk kemungkinan digunakan kembali.”
“Dengan meluncurkan gelombang koneksi dengan ukuran yang diklaim secara acak, penyerang mencegah pengalokasi menggunakan kembali potongan yang dibebaskan tersebut,” kata Okta.
“Timbunan ini sangat terfragmentasi, menyebabkan Resident Set Size (RSS) server terus meningkat. Bahkan setelah penyerang memutuskan sambungan, server tetap membengkak secara permanen.”
Satu-satunya cara untuk mendapatkan kembali ruang tersebut sepenuhnya adalah dengan memulai kembali proses.
Dampak dan perbaikan
Pustaka OpenSSL sumber terbuka tertanam dalam proyek perangkat lunak populer seperti server web NGINX dan Apache, runtime bahasa (misalnya, Node.js, Python, Ruby, PHP), dan database (MySQL, PostgreSQL). Itu sudah diinstal sebelumnya di sebagian besar distribusi Linux untuk enkripsi TLS dan penanganan sertifikat.
Dalam pengujian Okta pada NGINX menunjukkan bahwa lingkungan berkapasitas rendah dapat dengan mudah menghabiskan memori menggunakan HollowByte, sementara server dengan spesifikasi lebih tinggi mungkin kehilangan hingga 25% memorinya sementara bandwidth serangan tetap di bawah ambang batas peringatan keamanan.
Meskipun kelemahan DoS dianggap tidak separah kerentanan yang memungkinkan pencurian data atau eksekusi kode, kelemahan tersebut dapat menyebabkan gangguan operasional dan kerusakan reputasi.
Masalah HollowByte DoS telah diperbaiki di OpenSSL 4.0.1 dan di-backport ke versi 3.6.3, 3.5.7, 3.4.6, dan 3.0.21, yang sekarang hanya menambah buffer ketika data tiba, mengabaikan klaim header.
Meskipun ditangani sebagai “perbaikan yang lebih kuat” dan bukan kerentanan keamanan, Okta merekomendasikan “segera tingkatkan paket OpenSSL distribusi Anda.”
Uji setiap lapisan sebelum penyerang melakukannya
Tim keamanan mencatat 54% serangan yang berhasil dan hanya memberikan peringatan 14%. Sisanya bergerak melalui lingkungan Anda tanpa terlihat.
Whitepaper Picus menunjukkan bagaimana simulasi pelanggaran dan serangan menguji aturan SIEM dan EDR Anda sehingga ancaman berhenti lolos saat terdeteksi.








