CVE-2023-38490
Уязвимость XML External Entity (XXE) в обработчике XML-данных Kirby
- Опубликовано
- 27 июл. 2023 г.
- Обновлено
- 16 окт. 2024 г.
- Назначение CNA
- GitHub_M
- Наблюдены доказательства
- 7 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NНизкий · следующие 30 дней
- Процентиль
- 75,8 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
Kirby — это система управления контентом. Уязвимость в версиях до 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 и 3.9.6 затрагивает только сайты Kirby, которые используют обработчик данных `Xml` (например, `Data::decode($string, 'xml')`) или метод `Xml::parse()` в коде сайта или плагинов. Ядро Kirby не использует ни один из затронутых методов. Внешние сущности XML (XXE) — это редко используемая функция языка разметки XML, которая позволяет включать данные из внешних файлов в структуру XML. Если имя внешнего файла может контролироваться злоумышленником, это становится уязвимостью, которая может быть использована для различных воздействий на систему, таких как раскрытие внутренних или конфиденциальных данных, хранящихся на сервере (раскрытие произвольных файлов), или выполнение сетевых запросов от имени сервера (подделка серверных запросов, SSRF). Метод `Xml::parse()` в Kirby использовал константу PHP `LIBXML_NOENT`, которая включала обработку внешних сущностей XML во время операции разбора. Метод `Xml::parse()` используется в обработчике данных `Xml` (например, `Data::decode($string, 'xml')`). Ни уязвимый метод, ни обработчик данных не используются в ядре Kirby. Однако они могут использоваться в коде сайта или плагинов, например для разбора RSS-лент или других XML-файлов. Если эти файлы имеют внешнее происхождение (например, загружены пользователем или получены из внешнего URL), злоумышленники могут включить внешнюю сущность в XML-файл, которая затем будет обработана в процессе разбора. Сайты Kirby, которые не используют разбор XML в коде сайта или плагинов, *не* затронуты. Проблема исправлена в Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 и 3.9.6. Во всех упомянутых выпусках сопровождающие удалили константу `LIBXML_NOENT`, поскольку обработка внешних сущностей выходит за рамки логики разбора. Это защищает все случаи использования метода от описанной уязвимости.
Источники
1- exploit-CVE-2023-38490Эксплойт
Kirby < 3.9.6 XML External Entity эксплойт
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.