Fallos del tipo CWE-823

105 resultados

Uso de índice fora dos limites do ponteiro

Ocorre quando código calcula um deslocamento (offset) de ponteiro sem validar se o resultado aponta para uma localização válida na memória alocada. O programa acessa ou modifica posições de memória que não fazem parte do bloco alocado, causando corrupção de dados, leitura não autorizada ou execução de código.

Ejemplo

Um aplicativo aloca um buffer de 100 bytes e, ao processar um índice fornecido pelo usuário, calcula `ponteiro + indice_usuario` sem verificar se `indice_usuario` ultrapassa 99. Ao acessar essa posição calculada, o código toca em memória fora do buffer alocado.

Cómo mitigar

Sempre validar índices e deslocamentos antes de usá-los em aritmética de ponteiros. Usar funções seguras de cálculo de offset, implementar verificação de limites (bounds checking) e considerar usar linguagens ou ferramentas que fazem isso automaticamente, como AddressSanitizer durante desenvolvimento.