Вразливість DoS у BigDecimal
Опублікував Urabe Shyouhei 09-06-2009
Переклав: Andrii Furmanets
Виявлено вразливість відмови в обслуговуванні (DoS) у стандартній бібліотеці BigDecimal Ruby. Перетворення з об’єктів BigDecimal у числа Float мало проблему, яка дозволяє зловмисникам ефективно спричиняти помилки сегментації.
ActiveRecord покладається на цей метод, тому більшість додатків Rails зачеплені цим. Хоча це не проблема, специфічна для Rails.
Вплив
Зловмисник може спричинити відмову в обслуговуванні, змусивши BigDecimal парсити неймовірно велике число, таке як:
BigDecimal("9E69999999").to_s("F")
Вразливі версії
Серія 1.8
- 1.8.6-p368 та всі попередні версії
- 1.8.7-p160 та всі попередні версії
Серія 1.9
- Всі версії 1.9.1 не зачеплені цією проблемою
Рішення
Серія 1.8
Будь ласка, оновіться до 1.8.6-p369 або ruby-1.8.7-p174.
- https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p369.tar.gz
- https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
Оновлення
- Ruby 1.8.7-p173 мав проблему. Якщо ви вже завантажили його, будь ласка, отримайте новіший. Ruby 1.8.6-p369 не має цієї помилки.
Останні новини
Вийшов Ruby 4.0.0
Ми раді повідомити про випуск Ruby 4.0.0. Ruby 4.0 представляє “Ruby Box” та “ZJIT”, а також додає багато покращень.
Опублікував naruse 25-12-2025
Новий вигляд документації Ruby
Слідом за ре-дизайном ruby-lang.org, ми маємо більше новин, щоб відсвяткувати 30-річчя Ruby: docs.ruby-lang.org має повністю новий вигляд завдяки Aliki — новій темі за замовчуванням для...
Опублікував Stan Lo 23-12-2025
Оновлення айдентики нашого сайту
Раді оголосити про комплексне оновлення нашого сайту. Дизайн для цього оновлення створила Taeko Akatsuka.
Опублікував Hiroshi SHIBATA 22-12-2025
Вийшов Ruby 4.0.0 preview3
Раді повідомити про вихід Ruby 4.0.0-preview3. Ruby 4.0 вводить Ruby::Box і “ZJIT” та додає багато покращень.
Опублікував naruse 18-12-2025