Falhas do tipo CWE-1389
6 resultadosAnálise incorreta de números em diferentes bases numéricas
Ocorre quando o código interpreta números em bases diferentes (decimal, hexadecimal, octal) de forma incorreta ou inconsistente. Um número que deveria ser lido como octal é processado como decimal (ou vice-versa), causando lógica de negócio errada, bypass de validações ou vulnerabilidades de autorização.
Um firewall ou validador recebe '0777' e o interpreta como decimal 777 em vez de octal 511 (0777 = 511 em base 8); um atacante consegue contornar uma regra de permissão porque o número foi calculado errado. Ou um parser de configuração trata '0x10' como string em vez de hexadecimal 16, armazenando o valor errado no banco.
Sempre use parsers de números explícitos que declaram a base (ex: Integer.parseInt(str, 10) ou int(str, base=10) em Python); valide o formato antes de conversão e padronize a entrada para evitar notações ambíguas. Testes unitários com múltiplas bases são essenciais para detectar essas interpretações erradas.