Рекомендация Debian по безопасности

DSA-2842-1 libspring-java -- отказ в обслуживании

Дата сообщения:
13.01.2014
Затронутые пакеты:
libspring-java
Уязвим:
Да
Ссылки на базы данных по безопасности:
В системе отслеживания ошибок Debian: Ошибка 720902.
В каталоге Mitre CVE: CVE-2013-4152.
Более подробная информация:

Альваро Мунос обнаружил инъекцию внешней сущности XML (XXE) в Spring Framework, которая может использоваться для осуществления CSRF-атак и DoS-атак на другие сайты.

Обёртка Spring OXM не раскрывает свойства для отключения разрешения сущности при использовании демаршалера JAXB. Имеется четыре возможных реализации источников, передаваемых демаршалеру:

  • DOMSource
  • StAXSource
  • SAXSource
  • StreamSource

В DOMSource данные XML уже грамматически разобраны пользовательским кодом, и этот код ответственен за защиту от XXE.

В StAXSource XMLStreamReader уже был создан пользовательским кодом, и этот код ответственен за защиту от XXE.

В случае SAXSource и StreamSource Spring обрабатывает внешние сущности по умолчанию, что, таким образом, создаёт данную уязвимость.

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

Также было обнаружено, что Spring MVC обрабатывает предоставленный пользователем XML с JAXB вместе с StAX XMLInputFactory без отключения разрешения внешних сущностей. Разрешение внешних сущностей в этом случае было отключено.

В стабильном выпуске (wheezy) эта проблема была исправлена в версии 3.0.6.RELEASE-6+deb7u1.

В нестабильном выпуске (sid) эта проблема была исправлена в версии 3.0.6.RELEASE-10.

Рекомендуется обновить пакеты libspring-java.