Kerentanan DoS Hash-flooding untuk Ruby 1.9 (CVE-2012-5371)

Ditulis oleh usa tanggal 2012-11-09
Diterjemahkan oleh catcyborg

Serangan DoS Hash-flooding dilaporkan untuk seri fungsi Hash Ruby 1.9 yang kita pakai. Kelemahan ini berbeda dengan CVE-2011-4815 untuk Ruby 1.8.7. Semua pengguna Ruby 1.9 disarankan untuk meng-upgrade ke ruby-1.9.3 patchlevel 327 untuk mendapatkan perbaikan keamanan ini.

Dampak

Urutan string yang dibuat hati-hati dapat menyebabkan serangan denial of service pada layanan yang mem-parse urutan itu untuk membuat sebuah object Hash dengan menggunakan string sebagai key. Contohnya, kerentanan ini mempengaruhi aplikasi web yang mem-parse data JSON dari entitas tak terpercaya.

Rincian

Kerentanan ini mirip dengan CVE-2011-4815 untuk Ruby 1.8.7. Versi-versi Ruby 1.9 versions telah menggunakan MurmurHash function yang termodifikasi tetapi dilaporkan ada cara untuk membuat urutan string yang saling membentur nilai hash mereka. Perbaikan ini mengubah fungsi Hash dari object String dari MurmurHash ke SipHash 2-4.

Solusi

Harap update ke ruby-1.9.3 patchlevel 327 jika Anda menggunakan versi-versi Ruby 1.9. Harap update ke trunk revisi 37575 atau yang lebih baru jika Anda menggunakan Ruby 2.0.0 preview1 atau Ruby trunk. Sebagai tambahan, semua aplikasi Ruby yang menerima data input dari entitas tak terpercaya untuk mem-parse harus memmbatasi ukuran data input ke ukuran yang sesuai. Kami tidak yakin jika kami dapat menyediakan perlindungan untuk kerentanan semacam ini di tingkat bahasa pemrograman untuk ke depannya.

Versi yang Terkena Dampak

  • Semua versi Ruby 1.9 sebelum Ruby 1.9.3 patchlevel 327
  • Semua versi Ruby 2.0 (termasuk 2.0.0 preview1) sebelum trunk revision 37575

Ucapan Terima Kasih

Kerentanaan ini dilaporkan oleh Jean-Philippe Aumasson, salah satu desainer SipHash. Implementasi SipHash awal untuk perbaikan ini disajikan oleh Martin Boßlet, salah satu committer Ruby.

Update

  • Sebuah kesalahan pengejaan diperbaiki pada tanggal 2012-11-21 22:16:00
  • Awalnya diterbitkan pada tanggal 2012-11-10 04:23:00

Berita Baru

Ruby 3.3.0-preview3 Dirilis

Kami dengan senang hati mengumumkan rilis dari Ruby 3.3.0-preview3. Ruby 3.3 menambahkan sebuah parser baru yang bernama Prism, menggunakan Lrama sebagai parser generator, menambahkan pure-Ruby...

Ditulis oleh naruse tanggal 2023-11-12

Arsip Sebelumnya...