Falhas do tipo CWE-242

11 resultados

Uso de Função Inerentemente Perigosa

Fraqueza onde o desenvolvedor utiliza funções de biblioteca que são conhecidas por serem inseguras por design — tipicamente porque não validam entradas, não limitam tamanho ou deixam espaço para exploração. Exemplos clássicos: gets(), strcpy(), sprintf() sem formato seguro. O risco é que, mesmo com bom uso intencional, essas funções abrem porta para buffer overflow, injeção de formato ou outras vulnerabilidades.

Exemplo

Um programa em C que lê entrada do usuário com gets() para um buffer fixo: gets() não verifica quantos bytes copia, permitindo overflow e sobrescrita de memória. Outro caso: usar sprintf() sem validação de tamanho do destino.

Como mitigar

Substitua funções perigosas por equivalentes seguras: gets() → fgets(), strcpy() → strncpy() ou strlcpy(), sprintf() → snprintf(). Para C moderno, prefira sempre versões que aceitam limite de tamanho. Em linguagens de nível mais alto (Python, Java), o risco é menor porque gerenciam memória automaticamente.