Weaknesses of type CWE-242

11 results

Uso de Função Inerentemente Perigosa

Fraqueza que ocorre quando o desenvolvedor utiliza funções de biblioteca conhecidas por serem inseguras ou propensas a erros — como gets(), strcpy() ou sprintf() sem validação de limite de buffer. O perigo está em que essas funções não fazem verificações de segurança por design, deixando a responsabilidade inteira nas mãos do programador, aumentando drasticamente o risco de overflow ou comportamento indefinido.

Example

Um código legado que usa gets() para ler entrada do usuário sem verificar tamanho, permitindo buffer overflow. Ou usar sprintf() diretamente com formato controlado pelo atacante, causando injeção de formato. Em ambos os casos, a função em si é o problema, não apenas o uso negligente.

How to mitigate

Substituir funções perigosas por alternativas seguras: gets() → fgets(), strcpy() → strncpy() ou strlcpy(), sprintf() → snprintf(). Usar análise estática (linters, Coverity) para detectar essas chamadas. Em linguagens modernas (C99+, Java, Python), essas funções já são evitadas por padrão ou marcadas como depreciadas.