Weaknesses of type CWE-681
61 resultsConversão Incorreta Entre Tipos Numéricos
Ocorre quando código converte um número entre tipos (inteiro para byte, long para int, etc.) sem validar se o valor cabe no intervalo permitido pelo tipo destino. O resultado é perda de dados, overflow, underflow ou comportamento imprevisto que pode ser explorado para contornar validações de segurança.
Um sistema valida que um user ID é positivo (int de 32 bits), mas depois converte para short (16 bits) sem verificar. Um ID como 40000 vira negativo após a conversão, burlando lógica de autorização que assume IDs negativos como inválidos.
Sempre validar o intervalo antes de converter entre tipos numéricos; usar bibliotecas que fazem conversão segura (com exceção em overflow); considerar tipos maiores (long em vez de int) quando o valor vem de entrada externa; adicionar testes unitários que cobrem limites numéricos.