Ruby 2.2.4 Telah Rilis

Yana Permana 20 Desember 2015

Ruby 2.2.4 Telah Rilis

Menjelang akhir tahun, pengembang Ruby telah merilis Ruby 2.2.4. Pada rilis ini, keamanan menjadi topik utama. Salah satu vulnerability yang menjadi sorotan adalah CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL.

Vulnerability ini mencakup program Ruby yang menggunakan Fiddle dan libffi. Dibawah ini merupakan contoh penanganan input yang berbahaya.

handle = Fiddle::Handle.new(dangerous_user_input)

# Atau 

handle = Fiddle::Handle.new(some_library)
function_pointer = handle[dangerous_user_input]

Program Ruby tersebut dapat membahayakan keamanan suatu sistem. Kode ini juga membuka peluang eksploitasi program Ruby yang lebih besar lagi dan dapat merugikan sistem yang telah dikembangkan.

Selain vulnerability diatas, ada banyak perbaikan bugs dan penambahan dokumentasi dan fitur-fitur lainnya. Berikut sekilas catatan rilis Ruby 2.2.4:

  • Perbaikan buffer overflow pada fungsi parse_mode_enc dalam file io.c
  • Penambahan deskripsi mengenai perubahan yang inkompatibel dalam duplikasi kunci Hash yang mengesampingkan policy
  • Penghindaran konversi Infinity pada fungsi opt_case_dispatch yang ada dalam file insns.def
  • Perbaikan pthread_getattr_np yang telah rusak pada AIX. Lebih spesifik, terjadi pada alamat dan ukuran stack yang mengembalikan nilai yang tak benar
  • Penggunaan BASERUBY lebih baik dibanding RUNRUBY dalam file common.mk
  • Perbaikan urutan argumen dari InterlockedCompareExchange64 dalam file ruby_atomic.h. Urutan yang sekarang diawali nilai baru, kemudian diikuti nilai lama.
  • Penundaan pencarian objek yang tidak diinfeksi oleh marshal source dalam file encoding.c
  • Pengaktifan loader yang kompatibel pada class USERDEF. Fungsi loader ini bisa dipanggil dengan classnya sendiri maupun objek yang dialokasikan dan data yang akan dimuat
  • Perbaikan penggeseran posisi yang salah dalam Rational conversion
  • Exception untuk karakter yang tidak lengkap sebelum EOF untuk fungsi rb_io_each_codepoint dalam file io.c, ini terjadi saat konversi

Jadi, segera perbaharui Ruby yang telah pembaca pasang dengan Ruby 2.2.4. Guna menghindari eksploitasi terhadap Fiddle dan libffi. Dengan dirilisnya Ruby 2.2.4, bahasa pemrograman Ruby menjadi semakin aman.

Untuk mengunduh Ruby 2.2.4, pembaca bisa mengunjungi situs resminya di Ruby Lang. Sedangkan untuk catatan rilis yang lengkap bisa pembaca kunjungi di Changelog.

(yp/ruby)