Falhas do tipo CWE-189
31 resultadosErro Aritmético / Transbordamento Numérico
Falha na manipulação de operações matemáticas que causam comportamentos inesperados: transbordamento de inteiro (overflow), subtransbordamento (underflow), divisão por zero ou cálculos que excedem os limites do tipo de dado. Isso permite contornar validações, corromper dados ou disparar exceções que travam a aplicação.
Um sistema de pagamento recebe um inteiro de 16 bits para armazenar quantidade de produtos. Ao tentar registrar 70.000 unidades, o valor transborda e vira um número negativo ou muito pequeno, causando cobrança errada ou acesso a áreas de memória indevidas.
Validar limites numéricos antes de operações críticas; usar tipos de dado com range suficiente (ex: `long` ou `BigDecimal` em Java); testar edge cases (valores máximos, mínimos, zero) em testes unitários; considerar bibliotecas de aritmética segura em linguagens low-level como C/C++.