PT-2024-12890 · Undefined · Undefined
CVE-2023-40415
·
Publicado
2024-05-22
·
Atualizado
2024-05-22
Nenhuma
Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
ChatGPT помог заработать $28 000 на 0-day.
Базовый XXE-пейлоад выглядит как-то так
]>
&xxe;
Можно залить файл с таким содержимым на сервер и, если у либы, которая его распарсит, включена поддержка внешних сущностей, на выходе мы получим содержимое /etc/passwd.
Это касается библиотек, но не браузеров. Если вы откроете нечто подобное у себя в Chrome, то ничего не сработает, т.к. в нем external entities отключены по дефолту.
Но выяснился забавный факт.
Помимо XML, современные браузеры поддерживают еще много форматов, например, XSL. Это старая спека, которая является надстройкой над XML со своими директивами.
О нем и о том, что там тоже можно объявлять внешние сущности, почему-то все забыли, но напомнил ChatGPT. Он подсказал, что это можно делать с помощью директивы, вроде
<xsl:copy-of select="document('file:///etc/passwd')"/>
которая подгрузит содержимое, вопреки всем запретам.
Поэтому полная цепочка выглядит так:
- Создаем XSL пейлоад с функцией document()
- Импортируем полученное содержимое как внешнюю сущность в XML
- Готовый XML-пейлоад вставляем в SVG-картинку и используем по назначению ;)
💰 Выплаты
Apple (CVE-2023-40415): $25 000
Google (CVE-2023-4357): $3 000
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Undefined