Разработчики xml-crypto выпустили обновления, устранив две схожие критические уязвимости. Проблемы позволяют обойти верификацию подписи XML-данных и повысить привилегии в системе либо выдать себя за другого юзера.
Библиотека цифровой подписи и шифрования XML для Node.js пользуется большой популярностью. В репозитории npm на долю xml-crypto приходится свыше 1 млн загрузок в неделю, а за последние семь дней ее скачали почти 1,4 млн раз.
Уязвимости CVE-2025-29774 и CVE-2025-29775 (по 9,3 балла CVSS) разнятся лишь изменениями, которые требуется внести в валидное XML-сообщение для обхода механизмов аутентификации и авторизации в системах, использующих xml-crypto.
В первом случае факт эксплойта выдает присутствие множественных элементов <SignedInfo> в цифровой подписи (должен быть один):
Признак компрометации через CVE-2025-29775 — присутствие комментариев в <DigestValue> (их не должно быть):
Патчи включены в состав сборки xml-crypto 6.0.1 и бэкпортом вышли в ветках 2.x и 3.x (выпуски 2.1.6 и 3.2.1 соответственно). Пользователям рекомендуется обновить криптобиблиотеку в кратчайшие сроки.