Weaknesses of type CWE-241
33 resultsTratamento inadequado de tipo de dados inesperado
O código assume um tipo de dados específico (string, inteiro, objeto) sem validar o que realmente recebeu, causando comportamento imprevisto ou falha. Quando dados de tipo diferente chegam — por entrada do usuário, API, ou arquivo — o programa não consegue processar corretamente e pode falhar, expor informações ou executar lógica errada.
Uma função espera receber um inteiro representando quantidade de itens, mas recebe uma string ou null. Sem validação, tenta fazer operações aritméticas diretamente, causando exceção ou resultado inválido. Em linguagens fracamente tipadas (JavaScript, PHP), pode resultar em coerção silenciosa que leva a lógica segura a se comportar de forma não esperada.
Valide explicitamente o tipo de dados na entrada: use type-checking antes de processar (typeof, instanceof, ou validadores de schema como Joi, Zod). Em linguagens tipadas, configure verificação em tempo de compilação. Para dados desserializados (JSON, XML), use parsers seguros com type constraints claros.