AssertJ предоставляет Fluent-тестирование для Java и Java Virtual Machine (JVM). Начиная с версии 1.4.0 и до версии 3.27.7, XML-внешняя сущ…
AssertJ предоставляет Fluent-тестирование для Java и Java Virtual Machine (JVM). Начиная с версии 1.4.0 и до версии 3.27.7, XML-внешняя сущность (XXE) существует уязвимость XML External Entity (XXE) в `org.assertj.core.util.util.xml.XmlStringPrettyFormatter`: метод `toXmlDocument(String)` инициализирует `DocumentBuilderFactory` с параметрами по умолчанию, не отключая DTD или внешних объектов. Этот форматтер используется в утверждении `isXmlEqualTo(CharSequence)` для значений `isXmlEqualTo(CharSequence)` для значений `isXmlEqualTo(CharSequence). Приложение уязвимо только тогда, когда оно использует ненадежный XML-вход с либо `isXmlEqualTo(CharSequence)` от `org.assertj.core.ap.a.AbstractCharSequenceAssert` или `xmlPrettyFormat(String)` от `org.assertj.core.util.xml.XmlStringPrettyFormatt`. Если ненадежный XML-вход обрабатывается тоном этих методов, злоумышленник может читать произвольные локальные файлы через «Файл://` URIs» (например, `/etc/passwd`, файлы конфигурации приложения); выполнить Подделку запроса на сервер (SSRF) через HTTP/HTTPS URIs и/или вызвать отказ в обслуживании через атаки расширения сущности «Миллиард Смеется». `isXmlEqualTo(CharSequence)` был устаречен в пользу XMLUnit в версии 3.18.0 и будет удален в версии 4.0. Пользователи затронутых версий должны в порядке предпочтения: заменить `isXmlEqualTo(CharSequence)` на XMLUnit, обновиться до версии 3.27.7 или избегать использования `isXmlEqualTo(CharSequence)` или `XmlStringPrettyFormatter` с ненадежным вводом. `XmlStringPrettyFormatter` исторически считался утилитарным для `isXmlEqualTo(CharSequence)`, а не функцией для пользователей AssertJ, поэтому он устарел в версии 3.27.7 и удален в версии 4.0 без замены.
Продукт обрабатывает XML-документ, который может содержать XML-сущности с URI, разрешающимися в документы за пределами предусмотренной сферы контроля, из-за чего продукт включает некорректные документы в свой вывод.
https://cwe.mitre.org/data/definitions/611.html →Открыть в коллекции CWE →Данная атака использует свойство замены сущностей в ряде языков сериализации данных (например, XML, YAML и т. д.), при котором значением замены является URI. Специально сформированный файл может содержать ссылку на URI, потребление которого требует значительных ресурсов, что создаёт условие отказа в обслуживании. Это может привести к зависанию, аварийному завершению системы или выполнению произвольного кода в зависимости от URI.
https://capec.mitre.org/data/definitions/221.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| assertj-core | Отслеживается | |
| assertj-core | Отслеживается | |
| assertj-core | Отслеживается | |
| assertj-core | Отслеживается | |
| assertj | * | Отслеживается |