Falhas do tipo CWE-1056

1 resultado

Elemento de Controle Invocável com Parâmetros Variádicos

É a presença de funções ou métodos que aceitam número variável de argumentos (como *args em Python ou ...args em JavaScript) sem validação rigorosa de entrada. O risco é que um atacante passe argumentos inesperados que causem comportamento não previsto, contorno de segurança ou injeção de código.

Exemplo

Uma função que registra eventos aceitando quantos argumentos forem passados sem verificar tipos ou sanitizar valores. Um atacante injeta código malicioso em um argumento extra, que é processado sem validação: `log_event('user_login', user_input)` → `log_event('user_login', user_input, os.system('comando_malicioso'))`.

Como mitigar

Valide explicitamente o tipo e quantidade de argumentos mesmo em funções variádicas. Defina um esquema esperado (máximo de parâmetros, tipos permitidos) e rejeite qualquer coisa fora desse contrato. Considere usar tipos estáticos (TypeScript, type hints Python) e testes de entrada rigorosos.