Перевірка рівності `OpenSSL::X509::Name` неправильна в розширенні openssl
бібліотеки, включеному в Ruby.
Цій вразливості присвоєно ідентифікатор CVE
[CVE-2018-16395](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16395).

## Деталі

Екземпляр `OpenSSL::X509::Name` містить сутності, такі як CN, C,
і так далі.  Деякі два екземпляри `OpenSSL::X509::Name` рівні лише
коли всі сутності точно рівні.  Однак є помилка, що
перевірка рівності неправильна, якщо значення сутності аргументу
(права сторона) починається зі значення отримувача (ліва сторона).
Тому, якщо зловмисний сертифікат X.509 передано для порівняння з існуючим
сертифікатом, є можливість бути неправильно визначеним
що вони рівні.

Настійно рекомендується користувачам Ruby оновити вашу установку Ruby
або застосувати один з наступних обхідних шляхів якнайшвидше.

## Зачеплені версії

* Серія Ruby 2.3: 2.3.7 та раніше
* Серія Ruby 2.4: 2.4.4 та раніше
* Серія Ruby 2.5: 2.5.1 та раніше
* Серія Ruby 2.6: 2.6.0-preview2 та раніше
* до ревізії trunk r65139

## Обхідний шлях

Gem openssl 2.1.2 або пізніші включають виправлення для вразливості,
тому оновіть gem openssl до останньої версії, якщо ви використовуєте Ruby 2.4
або пізнішу серію.

```
gem install openssl -v ">= 2.1.2"
```

Однак, в серії Ruby 2.3, ви не можете перевизначити включену версію
openssl з gem openssl.
Будь ласка, оновіть вашу установку Ruby до останньої версії.

## Подяка

Дякуємо [Tyler Eckstein](https://hackerone.com/tylereckstein)
за повідомлення про проблему.

## Історія

* Спочатку опубліковано 2018-10-17 14:00:00 (UTC)
* Згадка про виправлену ревізію trunk 2018-10-19 00:00:00 (UTC)
