Я могу запросить изменение адреса электронной почты для вошедшего в систему пользователя без указания пароля с помощью Cogito API, здесь с помощью функции JavaScript:
export function* updateEmail(username: string, email: string) {
const cognitoUser = getCognitoUser(username);
const attributes: ICognitoUserAttributeData[] = [{
Name: 'email',
Value: email,
}];
return yield new Promise((resolve, reject) => {
cognitoUser.getSession((error: Error, session: {}) => {
if (error) {
reject(error);
}
cognitoUser.updateAttributes(attributes, (err, result) => {
if (err) {
reject(err);
}
resolve(result);
});
});
});
}
Это может позволить злоумышленнику изменить пароль вошедшего в систему пользователя, который оставил свой компьютер разблокированным:
- Запрос изменения электронной почты
- Подтвердите новый адрес электронной почты
- Запрос на изменение пароля
- Сменить пароль
Как остановить эту атаку?
Возможно ли, чтобы Cognito требовал пароль для запроса изменения электронной почты?