Falhas do tipo CWE-788
147 resultadosAcesso de memória além do limite do buffer
Ocorre quando o código tenta ler ou escrever em um endereço de memória que está fora dos limites válidos de um buffer alocado. O programa não valida corretamente o índice ou offset antes de acessar a memória, permitindo leitura de dados sensíveis ou corrupção de estruturas adjacentes. Em ataques, isso pode vazar informações ou causar crash.
Um parser de arquivo aloca 256 bytes para armazenar um campo e, sem validar o tamanho lido do arquivo, copia 500 bytes para esse buffer. O acesso continua além da memória alocada, sobrescrevendo dados do processo ou vazando informações de outra variável próxima na stack.
Sempre validar tamanhos e índices antes de acessar buffers — use funções seguras (strncpy em vez de strcpy, bounds checking explícito). Em linguagens com gerenciamento automático de memória, o risco reduz, mas em C/C++ exige disciplina: verificar limites, usar ferramentas estáticas (Clang Static Analyzer, Coverity) e testes com fuzzing.