Fallos del tipo CWE-189
31 resultadosErro em operações numéricas
Fraqueza em que o software realiza cálculos com números inteiros ou ponto flutuante de forma incorreta, causando overflow, underflow, truncamento ou resultados inesperados. O erro ocorre quando o código não valida limites, conversões de tipo ou operações matemáticas, permitindo comportamentos maliciosos como acesso à memória indevido, bypass de verificações ou execução de código.
Um programa que calcula um tamanho de buffer usando multiplicação (linha_x * coluna_y) sem verificar overflow: se os valores são grandes demais, o resultado inesperado aloca menos memória que o necessário, causando estouro de buffer quando dados são escritos. Ou um conversão de inteiro com sinal para sem sinal que gera um número negativo interpretado como muito grande.
Validar entrada numérica contra limites esperados antes de operações. Usar bibliotecas ou funções que detectem overflow (ex: __builtin_mul_overflow em C, ou operações com checked types). Em linguagens modernas (Rust, Python), preferir tipos que levantam exceção em overflow. Documentar e testar casos extremos (zero, máximo, mínimo).