Weaknesses of type CWE-1056

1 result

Elemento de controle invocável com parâmetros variádicos

Funções ou métodos que aceitam número ilimitado de argumentos (parâmetros variádicos) podem processar inputs de forma inconsistente ou imprevisível, especialmente quando não há validação clara do tipo ou quantidade de parâmetros. Isso facilita bypasses de segurança, injeção de dados malformados ou comportamento indefinido.

Example

Uma função que usa *args em Python ou ... (spread) em JavaScript sem validar o tipo ou tamanho dos argumentos recebidos. Um atacante pode passar quantidades enormes de dados, tipos inesperados ou estruturas malformadas que a função não foi projetada para tratar, causando consumo de recursos ou execução de código não intencional.

How to mitigate

Valide explicitamente o tipo, número e tamanho de cada argumento variádico antes de processá-lo. Quando possível, evite parâmetros variádicos em favor de estruturas bem definidas (arrays, objetos, classes). Implemente limites rigorosos de quantidade e tamanho de argumentos.