Вразливість DoS переповнення хешу для ruby 1.9 (CVE-2012-5371)
Опублікував usa 09-11-2012
Переклав: Andrii Furmanets
Повідомлено про атаку DoS переповнення хешу для функції Hash, яку використовувала серія ruby 1.9 . Ця вразливість відрізняється від CVE-2011-4815 для ruby 1.8.7. Всім користувачам ruby 1.9 рекомендується оновитися до ruby-1.9.3 рівня патчу 327, щоб отримати це виправлення безпеки.
Вплив
Ретельно сконструйована послідовність рядків може спричинити атаку відмови в обслуговуванні на сервіс, який парсить послідовність для створення об’єкта Hash , використовуючи рядки як ключі. Наприклад, ця вразливість впливає на веб-додатки, які парсять дані JSON, надіслані від ненадійної сутності.
Деталі
Ця вразливість схожа на CVE-2011-4815 для ruby 1.8.7. Версії ruby 1.9 використовували модифіковану функцію MurmurHash, але повідомлено, що є спосіб створити послідовність рядків, які зіштовхують їхні значення хешу один з одним. Це виправлення змінює функцію Hash об’єкта String з MurmurHash на SipHash 2-4.
Рішення
Будь ласка, оновіться до ruby-1.9.3 рівня патчу 327, якщо ви використовуєте версії ruby 1.9. Будь ласка, оновіться до ревізії trunk 37575 або пізнішої, якщо ви використовуєте ruby 2.0.0 preview1 або ruby trunk. Крім того, всі додатки ruby , які приймають вхідні дані від ненадійної сутності для парсингу, повинні обмежувати розмір вхідних даних до розумного розміру. Ми не впевнені, чи можемо надати захист від цього виду вразливості на рівні мови програмування в майбутньому.
Зачеплені версії
- Всі версії ruby 1.9 до ruby 1.9.3 рівня патчу 327
- Всі версії ruby 2.0 (включає 2.0.0 preview1) до ревізії trunk 37575
Подяка
Цю вразливість повідомив Jean-Philippe Aumasson, один з дизайнерів SipHash. Оригінальну реалізацію SipHash для цього виправлення представив Martin Boßlet, один з комітерів ruby.
Оновлення
- Виправлено друкарську помилку 2012-11-21 22:16:00
- Спочатку опубліковано 2012-11-10 04:23:00
Останні новини
Вийшов Ruby 3.3.12
Вийшов Ruby 3.3.12.
Опублікував hsbt 16-07-2026
Вийшов Ruby 4.0.6
Вийшов Ruby 4.0.6.
Опублікував k0kubun 14-07-2026
Вийшов Ruby 3.4.10
Вийшов Ruby 3.4.10.
Опублікував nagachika 30-06-2026
Вийшов Ruby 4.0.5
Вийшов Ruby 4.0.5.
Опублікував k0kubun 20-05-2026