Fallos del tipo CWE-472
140 resultadosEstouro de inteiro
Ocorre quando uma operação aritmética com inteiros produz um resultado que ultrapassa o limite máximo (ou mínimo) que o tipo de dado consegue armazenar, causando wrap-around ou truncamento silencioso. Isso permite manipular lógica de validação, contadores e cálculos de tamanho de buffer, abrindo portas para corrupção de memória ou execução arbitrária.
Um validador de upload verifica se `tamanho_arquivo < INT_MAX` para aceitar o arquivo. Um atacante envia um arquivo com tamanho calculado para, ao ser multiplicado por 2 em um cálculo interno, fazer o inteiro estourar e retornar um valor pequeno, burlando a restrição e causando buffer overflow.
Use tipos com intervalo maior (como uint64_t para cálculos críticos), implemente verificações pré-operação para detectar risco de estouro antes de executar a aritmética, ou utilize bibliotecas seguras que tratam overflows. Em linguagens de alto nível, prefira tipos que crescem automaticamente (BigInteger) ou use saturação em vez de wrap-around.