Falhas do tipo CWE-786
9 resultadosAcesso à memória antes do início do buffer
A aplicação acessa posições de memória anteriores ao começo de um buffer alocado, tipicamente por usar índices negativos ou calcular endereços com underflow. Isso viola os limites da estrutura e pode corromper dados adjacentes, causar travamentos ou ser explorado para leitura de informações sensíveis.
Um programa que processa um array esperando índices sempre positivos recebe -1 como entrada; em vez de validar, subtrai direto do ponteiro base e lê/escreve em memória não alocada ao buffer. Outro caso: um loop com decremento mal controlado que, em linguagens como C, permite acessar além do início da alocação.
Valide rigorosamente índices e offsets antes de qualquer acesso — rejeite negativos se o buffer não suporta; use linguagens com bounds-checking automático (Java, Python) ou bibliotecas de safe-indexing. Em C/C++, implemente verificações explícitas (offset >= 0 && offset < tamanho) antes de qualquer aritmética de ponteiros.