Weaknesses of type CWE-786
9 resultsAcesso a memória antes do início do buffer
Ocorre quando código tenta acessar memória em um endereço anterior ao início de um buffer alocado, geralmente por erro no cálculo de índices ou falta de validação de limites. Isso pode corromper dados adjacentes, causar crash ou, em cenários específicos, ser explorado para leitura não autorizada.
Uma função que processa um array usa um índice calculado incorretamente (ex: `array[index - 1]` sem verificar se `index >= 1`), acessando a memória logo antes do array. Se essa região contiver dados sensíveis ou metadados críticos, pode ser lida ou alterada.
Sempre validar índices antes do acesso (garantir que estão dentro de limites válidos) e usar ferramentas de análise estática ou sanitizers (AddressSanitizer, Valgrind) durante desenvolvimento para detectar acessos fora de limites. Em linguagens de alto nível com bounds checking automático, o risco é menor.