Weaknesses of type CWE-805
55 resultsAcesso a buffer com tamanho incorreto
Ocorre quando o código acessa um buffer (lê ou escreve) usando um tamanho que não corresponde ao tamanho real alocado ou esperado. Isso permite leitura ou escrita além dos limites, causando corrupção de memória, vazamento de dados ou execução de código arbitrário.
Uma função recebe um tamanho de dado como parâmetro e usa esse valor diretamente em memcpy() sem validar se ele não ultrapassa o tamanho real do buffer. Um atacante passa um tamanho maior, provocando overflow e sobrescrita de memória adjacente.
Sempre validar e limitar o tamanho de acesso ao menor entre o tamanho solicitado e o tamanho real do buffer. Use APIs seguras como strncpy() em vez de strcpy(), e implemente verificações explícitas de limites antes de qualquer leitura ou escrita.