Weaknesses of type CWE-624

2 results

Erro em expressão regular executável

Ocorre quando o software compila ou executa uma expressão regular construída dinamicamente a partir de entrada do usuário sem validação, permitindo que um atacante injete padrões malformados ou computacionalmente caros. Isso pode causar negação de serviço (ReDoS) ou comportamento imprevisto na correspondência de strings.

Example

Um validador de email que aceita o padrão regex como parâmetro do usuário e o compila diretamente em uma chamada `preg_match()` ou `re.compile()`. Um atacante envia um padrão como `(a+)+b` que causa backtracking catastrófico, travando a aplicação.

How to mitigate

Nunca compile regex a partir de entrada do usuário; use uma whitelist de padrões pré-compilados se for necessário oferecê-los dinamicamente. Se regex dinâmica for inevitável, valide e teste o padrão com timeout de execução, e considere usar bibliotecas especializadas em detecção de ReDoS.