Уязвимость внешнего объекта XML (XXE) в esaml (и его ответвлениях) позволяет злоумышленнику заставить систему читать локальные файлы и включать их содержимое в обработанные документы SAML, а также потенциально выполнять SSRF через созданные сообщения SAML.
esaml анализирует контролируемые злоумышленником сообщения SAML, используя xmerl_scan:string/2 перед проверкой подписи, не отключая расширение сущности XML. В версиях Erlang/OTP до 27 Xmerl разрешает сущности по умолчанию, позволяя атаковать XXE с предварительной сигнатурой. Злоумышленник может заставить хост прочитать локальные файлы (например, секреты, смонтированные в Kubernetes) в документ SAML.
Если злоумышленник не является доверенным поставщиком услуг SAML, проверка подписи завершится неудачей и документ будет удален, но содержимое файла все равно может быть раскрыто через журналы или сообщения об ошибках. Эта проблема затрагивает все версии esaml, включая версии arekinath, Handnot2 и Dropbox. Пользователи, работающие на Erlang/OTP 27 или более поздней версии, не затронуты, поскольку по умолчанию в Xmerl объекты отключены.
Показать оригинальное описание (EN)
XML External Entity (XXE) vulnerability in esaml (and its forks) allows an attacker to cause the system to read local files and incorporate their contents into processed SAML documents, and potentially perform SSRF via crafted SAML messages. esaml parses attacker-controlled SAML messages using xmerl_scan:string/2 before signature verification without disabling XML entity expansion. On Erlang/OTP versions before 27, Xmerl allows entities by default, enabling pre-signature XXE attacks. An attacker can cause the host to read local files (e.g., Kubernetes-mounted secrets) into the SAML document. If the attacker is not a trusted SAML SP, signature verification will fail and the document is discarded, but file contents may still be exposed through logs or error messages. This issue affects all versions of esaml, including forks by arekinath, handnot2, and dropbox. Users running on Erlang/OTP 27 or later are not affected due to Xmerl defaulting to entities disabled.
Характеристики атаки
Последствия
Строка CVSS v4.0