ApostrofeCMS — это система управления контентом Node.js с открытым исходным кодом. Версии 4.28.0 и более ранние содержат уязвимость побочного канала синхронизации в конечной точке сброса пароля (/api/v1/@apostropecms/login/reset-request), которая позволяет неаутентифицированное имя пользователя и перечисление адресов электронной почты. Если пользователь не найден, обработчик возвращается после фиксированной двухсекундной искусственной задержки, но когда действительный пользователь найден, он выполняет обновление MongoDB и отправку электронной почты SMTP без эквивалентной нормализации задержки, создавая измеримо разное время ответа.
Конечная точка также принимает имя пользователя и адрес электронной почты через запрос $or и не имеет ограничения скорости, поскольку существующее ограничение checkLoginAttempts применяется только к потоку входа в систему. Это позволяет автоматически перебирать действительные учетные записи для использования в подбросе учетных данных или целевом фишинге. Затрагиваются только экземпляры, в которых явно включена опция пароляReset, поскольку по умолчанию она имеет значение false.
Эта проблема исправлена в версии 4.29.0.
Показать оригинальное описание (EN)
ApostropheCMS is an open-source Node.js content management system. Versions 4.28.0 and prior contain a timing side-channel vulnerability in the password reset endpoint (/api/v1/@apostrophecms/login/reset-request) that allows unauthenticated username and email enumeration. When a user is not found, the handler returns after a fixed 2-second artificial delay, but when a valid user is found, it performs a MongoDB update and SMTP email send with no equivalent delay normalization, producing measurably different response times. The endpoint also accepts both username and email via an $or query, and has no rate limiting as the existing checkLoginAttempts throttle only applies to the login flow. This enables automated enumeration of valid accounts for use in credential stuffing or targeted phishing. Only instances that have explicitly enabled the passwordReset option are affected, as it defaults to false. This issue has been fixed in version 4.29.0.
Характеристики атаки
Последствия
Строка CVSS v3.1