Публикувана от zzak на 2015-04-13
Превод от Georgi Mitrev
Разширението за OpenSSL на Ruby страда от уязвимост при match-ване на hostnames, което води до бъгове като CVE-2014-1492. Подобен проблем бе открит и в Python.
За тази уязвимост е определен CVE идентификатор CVE-2015-1855.
Силно препоръчваме да обновите версията на Ruby, която използвате.
Детайли
След преглед на RFC 6125 и RFC 5280 открихме множесто нарушения при match-ването на hostname-ове и специфично wildcard сертификати.
Разширението за OpenSSL на Ruby вече ще използва алгоритъм за match-ване, базиран на низове, който ще има по-стриктно поведение, както е описано от тези RFC. Съчетаването на повече от един wildcard със SAN вече няма да е позволено. Освен това, сравнението на тези стойности вече ще различава главни и малки букви.
Това ще промени поведението на OpenSSL::SSL#verify_certificate_identity
.
По-специално:
- Позволен е само един wildcard знак в най-лявата част на hostname-а.
- IDNA имена вече могат да бъдат match-нати само от прост wildcard (напр. ‘*.domain’).
- Subject/SAN трябва да съдържа само ASCII символи.
Всички потребители, използващи засегнати версии, трябва да обновят веднага.
Засегнати версии
- Всички Ruby 2.0 версии преди пач 645
- Всички Ruby 2.1 версии преди Ruby 2.1.6
- Всички Ruby 2.2 версии преди Ruby 2.2.2
- Всички преди trunk revision 50292
Благодарности
Благодарности на Tony Arcieri, Jeffrey Walton и Steffan Ullrich за докладването на проблема. Първоначално докладван като Бъг #9644 и пачнат от Tony Arcieri и Hiroshi Nakamura.
История
- Първоначално обявен на 2015-04-13 12:00:00 (UTC)