CVE-2026-101041: гонка при использовании токена сброса пароля в Vulnerability-Lookup
В веб-приложении Vulnerability-Lookup обнаружена уязвимость класса TOCTOU (race condition) в механизме использования одноразовых токенов восстановления аккаунта. Два одновременных запроса с одним и тем же валидным токеном могут оба пройти проверку и установить свой пароль, что позволяет злоумышленнику с валидным токеном перехватить контроль над учётной записью. Критичность — 6.3 (MEDIUM).
Подробности
Уязвимость получила идентификатор CVE-2026-101041 и оценку CVSS 6.3 (MEDIUM). Она относится к классу TOCTOU (time-of-check-to-time-of-use) — состоянию гонки при использовании одноразовых токенов восстановления. Изначальная реализация проверяла nonce токена по сохранённому дайджесту и затем «сжигала» (очищала) его отдельными операциями с базой данных. Из-за отсутствия атомарности два параллельных HTTP-запроса с одним и тем же валидным токеном могли оба успешно пройти проверку до фиксации транзакций. В результате каждый из них получал возможность установить собственный пароль на целевую учётную запись: транзакция, зафиксированная последней, перезаписывала результат первой. Таким образом, атакующий, располагающий валидным токеном восстановления, мог заменить пароль легитимного пользователя на произвольный. Дополнительный дефект в том же эндпоинте confirm_account позволял использовать валидную ссылку восстановления для установки пустого или тривиально короткого пароля (например, из трёх символов). Обработчик представления выполнял лишь ручное сравнение двух полей пароля и не вызывал логику валидации формы, обходя тем самым предусмотренные ограничения по минимальной длине и сложности. Затронутые компоненты — эндпоинт восстановления учётной записи (/user/confirm_account/Что делать
Рекомендуется обновить Vulnerability-Lookup до версии, содержащей исправление данной уязвимости, — сведения о ней следует уточнить у сопровождающих проекта. Ключевые меры на стороне разработчиков: - Сделать проверку и «сжигание» токена атомарной операцией (например, через условное обновление в БД или блокировку записи), чтобы исключить параллельное прохождение проверки двумя запросами. - Обеспечить соблюдение одноразовости токена: только один запрос должен успешно его потребить. - Восстановить вызов валидации формы в обработчике confirm_account и запретить установку пустых и коротких паролей, применяя ограничения по минимальной длине и сложности. - До установки обновления — по возможности ограничить доступ к эндпоинту восстановления и усилить мониторинг подозрительной активности сброса паролей. Пользователям, у которых есть основания подозревать компрометацию, следует сменить пароль и проверить активные сессии. Итог: CVE-2026-101041 сочетает состояние гонки (TOCTOU) и обход валидации пароля, что в совокупности создаёт риск захвата учётной записи при наличии валидного токена восстановления. Уязвимость имеет средний уровень критичности, но требует приоритетного исправления, поскольку напрямую затрагивает аутентификацию.Источник: CVE Project (cvelistV5)
