Qual é o problema?
Durante o desenvolvimento da issue #802, foi identificado que ao tentar realizar login com um e-mail que não está cadastrado no sistema, a API retorna 404 Not Found em vez de 401 Unauthorized. Esse comportamento expõe ao cliente (e a possíveis atacantes) que o e-mail informado não existe na base de dados, caracterizando uma vulnerabilidade de enumeração de usuários
Tarefas Relacionadas
Objetivo da Solução
O endpoint de login deve retornar 401 Unauthorized para qualquer falha de autenticação, sem revelar se o motivo foi a inexistência do usuário ou a senha incorreta. Isso é um requisito de segurança básico para sistemas de autenticação
Critérios de Aceite
Artefatos
Observação de segurança: a combinação dos problemas das issues relacionadas permite que um atacante enumere e-mails cadastrados analisando os códigos de resposta: 400 (e-mail existe, senha errada) vs 404 (e-mail não existe).
Qual é o problema?
Durante o desenvolvimento da issue #802, foi identificado que ao tentar realizar login com um e-mail que não está cadastrado no sistema, a API retorna
404 Not Foundem vez de401 Unauthorized. Esse comportamento expõe ao cliente (e a possíveis atacantes) que o e-mail informado não existe na base de dados, caracterizando uma vulnerabilidade de enumeração de usuáriosTarefas Relacionadas
Objetivo da Solução
O endpoint de login deve retornar
401 Unauthorizedpara qualquer falha de autenticação, sem revelar se o motivo foi a inexistência do usuário ou a senha incorreta. Isso é um requisito de segurança básico para sistemas de autenticaçãoCritérios de Aceite
401 Unauthorized401em ambos os casos)shouldReturnUnauthorizedWhenUserDoesNotExistdeve passar com sucessoArtefatos