YApi не обновлялся с 2022 года: найдена уязвимость подделки токенов проектов
YApi — популярная платформа документации API с 27 тысячами звёзд на GitHub — не получала обновлений с 2022 года. На новом Node.js у неё ломаются токены, клиент не собирается, а расширение для Chrome больше не работает. Автор, продолживший развитие проекта, обнаружил, что без настройки passsalt токены проектов шифруются общеизвестным ключом, что позволяет любому участнику проекта выдать себя за другого пользователя.
Подробности
Энтузиаст, продолживший развитие заброшенного проекта, в ходе работы обнаружил критичную проблему в механизме токенов. Если в конфигурации не задан параметр passsalt, токены проектов шифруются общеизвестным ключом. Это означает, что любой участник проекта может подделать токен и выдать себя за другого пользователя, получив доступ к его данным и действиям в рамках платформы. Помимо этого, мок-скрипты в YApi позволяют выполнять код на сервере, что в сочетании с проблемой токенов существенно расширяет поверхность атаки. Отдельная сложность — поддержка клиентской части: расширение браузера, необходимое для работы с платформой, больше не функционирует в Chrome из-за перехода браузера на Manifest V3. В рамках доработки проекта были предприняты меры по исправлению ситуации: реализована корректная работа токенов без поломки уже выпущенных, добавлена песочница для скриптов на базе isolated-vm, создано собственное расширение под Manifest V3, а также проведено тестирование обновления на реальной базе YApi.Что делать
Организациям, использующим YApi, следует в первую очередь проверить конфигурацию и убедиться, что параметр passsalt задан уникальным значением. Без этого токены проектов остаются предсказуемыми и уязвимыми для подделки любым участником проекта. Также рекомендуется ограничить выполнение мок-скриптов или изолировать их в песочнице, поскольку текущая реализация допускает выполнение кода на сервере. При обновлении доработанной версии важно протестировать процесс на копии реальной базы, чтобы избежать поломки существующих токенов и данных. Для команд, столкнувшихся с неработающим расширением в Chrome, актуальна замена на версию под Manifest V3. Наконец, учитывая давнее отсутствие официальных обновлений, стоит рассмотреть оценку рисков дальнейшего использования заброшенного продукта в критичных сценариях. Итог: история YApi показывает, как заброшенный проект накапливает уязвимости, а исправление без потери совместимости со старыми данными требует аккуратной работы. Пользователям важно самостоятельно контролировать конфигурацию безопасности и не полагаться на отсутствующую поддержку.Источник: Хабр — Информационная безопасность

