*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][CVE-2014-1492]. Masalah yang sama juga ditemukan di [Python][python-hostname-bug].

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

Kami sangat merekomendasikan Anda memperbarui Ruby.

## Detail

Setelah meninjau [RFC 6125][RFC-6125] dan [RFC 5280][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][Bug-9644], dan *patches* diajukan oleh Tony Arcieri dan Hiroshi Nakamura.

## Riwayat

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

[CVE-2014-1492]: https://bugzilla.mozilla.org/show_bug.cgi?id=903885
[python-hostname-bug]: https://bugs.python.org/issue17997
[CVE-2015-1855]: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1855
[RFC-6125]: https://tools.ietf.org/html/rfc6125
[RFC-5280]: https://tools.ietf.org/html/rfc5280
[Bug-9644]: https://bugs.ruby-lang.org/issues/9644
