JobCenter до версии 7e7b0b2 позволяет захватить учетную запись через функцию сброса пароля, поскольку SERVER_NAME не настроен и, таким обра…
JobCenter до версии 7e7b0b2 позволяет захватить учетную запись через функцию сброса пароля, поскольку SERVER_NAME не настроен и, таким образом, сброс зависит от HTTP-заголовка Host. Уязвимость возникает из-за отсутствия надлежащей конфигурации `SERVER_NAME` в приложении Flask, что приводит к использованию недоверенного заголовка `Host` при генерации ссылок сброса пароля с помощью `url_for(..., _external=True)`. Злоумышленник может подделать этот заголовок, чтобы перенаправить ссылку сброса пароля на вредоносный домен и перехватить токен сброса [1]. Рекомендуемые меры по исправлению: - Настройте `SERVER_NAME` в `app.config`. - Проверяйте или очищайте заголовок `Host`. - Удалите `_external=True`, если это не является строго необходимым. Источники: - [1] https://github.com/guomaoqiu/JobCenter/blob/7e7b0b2f756d66bba7e592a6c8952c78a3573d9c/app/templates/auth/email/reset_password.txt - [2] https://github.com/guomaoqiu/JobCenter/issues/18
Продукт содержит механизм, позволяющий пользователям восстанавливать или изменять пароли без знания исходного пароля, однако этот механизм является слабым.
https://cwe.mitre.org/data/definitions/640.html →Открыть в коллекции CWE →Злоумышленник использует функцию приложения, предназначенную для помощи пользователям в восстановлении забытых паролей, с целью получения доступа к системе с теми же привилегиями, что и у исходного пользователя. Как правило, механизмы восстановления паролей отличаются слабостью и ненадёжностью.
https://capec.mitre.org/data/definitions/50.html →Открыть в коллекции CAPEC →