Fallos del tipo CWE-1389

6 resultados

Análise incorreta de números em diferentes bases numéricas

A aplicação interpreta ou processa números (binário, octal, hexadecimal, decimal) de forma inconsistente, confundindo a base numérica ou não validando o formato esperado. Isso leva a decisões de segurança erradas, como rejeitar um IP que na verdade é válido, ou aceitar um valor que deveria ser bloqueado.

Ejemplo

Um validador de IP recusa '010.0.0.1' pensando que começa com zero (base octal) e portanto é inválido, mas o sistema operacional interpreta como decimal (10.0.0.1). Um atacante usa essa divergência para contornar listas de bloqueio.

Cómo mitigar

Sempre defina e documente explicitamente qual base numérica é esperada. Use parsing explícito (ex: parseInt() com radix 10 em JavaScript, ou bibliotecas que forçam a base) e valide que o input corresponde ao formato esperado antes de processar, nunca confiando em conversão automática.