Fallos del tipo CWE-393

10 resultados

Retorno de código de status incorreto

A aplicação retorna um código HTTP ou de estado que não corresponde corretamente ao resultado da operação (ex: retorna 200 OK após falha de autenticação, ou 500 Internal Server Error quando o problema é apenas validação). Isso obscurece o estado real da aplicação para clientes, logs e sistemas de monitoramento, facilitando exploração e mascarando problemas.

Ejemplo

Um endpoint de login que falha por credencial inválida mas retorna HTTP 500 em vez de 401 Unauthorized. Um cliente automatizado pode interpretar isso como falha do servidor e aplicar lógica de retry, enquanto alertas de segurança não disparam. Ou um serviço que autoriza acesso negado retornando 200, deixando o cliente achar que a requisição funcionou.

Cómo mitigar

Mapeie explicitamente os códigos de status corretos para cada cenário de negócio e erro na aplicação (401 para autenticação falha, 403 para acesso negado, 400 para entrada inválida, 500 apenas para erros reais do servidor). Teste este mapeamento em testes unitários e de integração, incluindo casos de falha.