Weaknesses of type CWE-242
11 resultsUso 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.
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.
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.