CVE-2021-28965: Уязвимость round-trip кодирования в REXML

В геме REXML, поставляемом с Ruby, обнаружена уязвимость round-trip кодирования XML. Этой уязвимости присвоен идентификатор CVE CVE-2021-28965. Мы строго рекомендуем обновление гема REXML.

Подробности

При парсинге и сериализации специальным образом подготовленного документа XML гем REXML (включая тот, что поставляется с Ruby) может создать неправильный документ XML, со структурой, отличающейся от оригинального. Последствия во многом зависят от контекста, но это может привести к уязвимости в каких-нибудь программах, которые используют REXML.

Пожалуйста, обновите гем REXML до версии 3.2.5 или выше.

Если вы используете Ruby 2.6 или выше:

  • Пусть это будет Ruby 2.6.7, 2.7.3 или 3.0.1.
  • Либо вы можете выполнить gem update rexml, чтобы обновить его. Если вы используете bundler, добавьте gem "rexml", ">= 3.2.5" в ваш Gemfile.

Если вы используете Ruby 2.5.8 или ниже:

  • Пожалуйста, перейдите на Ruby 2.5.9.
  • Команда gem update rexml на Ruby 2.5.8 и ниже вам не поможет.
  • Обратите внимание, что Ruby 2.5 находится в фазе EOL, поэтому рассмотрите возможность обновить Ruby до 2.6.7 или выше как можно скорей.

Уязвимые версии

  • Ruby 2.5.8 и ниже (Команда gem update rexml вам НЕ поможет на этой версии.)
  • Ruby 2.6.6 и ниже
  • Ruby 2.7.2 и ниже
  • Ruby 3.0.0
  • гем REXML 3.2.4 и ниже

Авторство

Благодарим Juho Nurminen за обнаружение проблемы.

История

  • Изначально опубликовано в 2021-04-05 12:00:00 (UTC)