CVE-2015-1855: Ruby OpenSSL Hostname Verification

Ruby’s OpenSSL extension membiarkan sebuah kerentanan dengan mudah memberikan izin matching of Hostnames, yang mana dapat menyebabkan bug yang sama seperti CVE-2014-1492. Masalah yang sama juga ditemukan di Python.

Kerentanan ini telah ditetapkan dalam the CVE identifier CVE-2015-1855.

Kami sangat merekomendasikan Anda memperbarui Ruby.

Detail

Setelah meninjau RFC 6125 dan RFC 5280, kami menemukan multiple violations of matching hostnames dan khususnya wildcard certificates.

Ruby’s OpenSSL extension sekarang akan menyediakan sebuah algoritma pencocokan berbasis string yang mengikuti perilaku yang lebih ketat, sebagai rekomendasi dari RFC tersebut. Secara khusus, mencocokkan lebih dari satu wildcard per subject/SAN tidak lagi diperbolehkan. Demikian juga, perbandingan dari nilai-nilai ini sekarang case-insensitive.

Perubahan ini akan berimbas perilaku Ruby’s OpenSSL::SSL#verify_certificate_identity.

Khususnya:

  • Hanya satu karakter wildcard paling kiri dari hostnames diperbolehkan.
  • Nama IDNA sekarang hanya dapat dicocokkan oleh sebuah wildcard sederhana (contoh ‘*.domain’).
  • Subject/SAN sebaiknya dibatasi hanya untuk karakter ASCII.

Semua pengguna yang menjalankan versi rilis yang terkena imbas ini sebaiknya memperbarui segera.

Versi Terimbas

  • Semua versi Ruby 2.0 hingga 2.0.0 patchlevel 645
  • Semua versi Ruby 2.1 hingga 2.1.6
  • Semua versi Ruby 2.2 hingga 2.2.2
  • hingga revisi trunk 50292

Pujian

Terima kasih kepada Tony Arcieri, Jeffrey Walton, dan Steffan Ullrich yang telah melaporkan masalah ini. Awalnya dilaporkan sebagai Bug #9644, dan patches diajukan oleh Tony Arcieri dan Hiroshi Nakamura.

Riwayat

  • Semula dipublikasikan pada 2015-04-13 12:00:00 (UTC)