CVE-2014-8090: Ще одна відмова в обслуговуванні розширення XML

Опублікував usa 13-11-2014
Переклав: Andrii Furmanets

Необмежене розширення сутності може призвести до вразливості DoS в REXML, як “Вразливість DoS розширення сутності в REXML (XML бомба, CVE-2013-1821)” та “CVE-2014-8080: Вразливість DoS розширення параметра сутності в REXML”. Цій вразливості присвоєно ідентифікатор CVE CVE-2014-8090. Ми настійно рекомендуємо оновити Ruby.

Деталі

Це додаткове виправлення для CVE-2013-1821 та CVE-2014-8080. Попередні патчі виправили рекурсивні розширення в ряді місць та загальний розмір створених рядків. Однак, вони не врахували попередній ліміт, використаний для розширення сутності. Може виникнути 100% використання CPU в результаті рекурсивного розширення з порожнім рядком. При читанні текстових вузлів з XML документа, парсер REXML може бути примушений до виділення надзвичайно великих об’єктів рядків, які можуть споживати всю пам’ять на машині, спричиняючи відмову в обслуговуванні.

Зачеплений код виглядатиме приблизно так:

require 'rexml/document'

xml = <<XML
<!DOCTYPE root [
  # ENTITY expansion vector
]>
<cd></cd>
XML

p REXML::Document.new(xml)

Всі користувачі, які запускають зачеплений випуск, повинні або оновитися, або використовувати один з обхідних шляхів негайно.

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

  • Всі версії Ruby 1.9 до Ruby 1.9.3 рівня патчу 551
  • Всі версії Ruby 2.0 до Ruby 2.0.0 рівня патчу 598
  • Всі версії Ruby 2.1 до Ruby 2.1.5
  • до ревізії trunk 48402

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

Якщо ви не можете оновити Ruby, використовуйте цей monkey patch як обхідний шлях:

class REXML::Document
  def document
    self
  end
end

Подяка

Дякуємо Tomas Hoger за повідомлення про цю проблему.

Історія

  • Спочатку опубліковано 2014-11-13 12:00:00 UTC

Останні новини

Вийшов 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

Більше новин...