Falhas do tipo CWE-127

8 resultados

Leitura abaixo do limite do buffer

Ocorre quando o código tenta ler dados de um endereço anterior ao início de um buffer alocado, geralmente por cálculo errado de índice ou falta de validação de limites. O atacante ou falha lógica pode causar leitura de memória não inicializada, exposição de dados sensíveis ou crash da aplicação.

Exemplo

Uma função que processa uma string recebe um índice do usuário para extrair um caractere: se o índice é negativo ou o cálculo do offset está errado, a leitura acontece em posição anterior ao início da string, acessando lixo de memória ou dados de variáveis anteriores.

Como mitigar

Valide sempre os índices antes de acessar: certifique-se de que estão dentro do intervalo [0, tamanho-1]. Use funções seguras de manipulação de strings (como strlcpy em C) e ferramentas de análise estática para detectar índices negativos ou descontrolados.