Weaknesses of type CWE-189
31 resultsErro numérico
Fraqueza ampla que engloba falhas no cálculo, comparação ou conversão de números inteiros e ponto flutuante — como overflow, underflow, truncamento de sinal ou perda de precisão. Essas falhas podem levar a comportamento inesperado, bypass de validações ou execução de código não autorizado.
Um sistema de permissões usa um inteiro de 16 bits para armazenar IDs de usuários. Se o ID exceder 65535, ocorre overflow e o valor volta a zero, causando acesso com privilégios errados. Outro caso: uma API aceita quantidade de bytes como inteiro; se passar um valor negativo, a comparação `tamanho > limite` falha e permite upload de arquivo acima do permitido.
Valide rigorosamente entradas numéricas (range, tipo, sinal). Use tipos numéricos com capacidade adequada ao domínio (ex: long em vez de int para IDs). Implemente verificação de overflow/underflow antes de cálculos críticos e testes de segurança com valores extremos (máximo, mínimo, negativos, zero).