Fallos del tipo CWE-777

4 resultados

Expressão regular sem âncoras

Ocorre quando uma regex é usada para validação sem âncoras (^ e $), permitindo que padrões parciais correspondam em qualquer posição da string. Um atacante consegue contornar a validação inserindo dados maliciosos antes ou depois de um padrão esperado, comprometendo controles de segurança como autenticação, autorização ou sanitização de entrada.

Ejemplo

Um código valida emails com a regex `[a-z]+@[a-z]+\.[a-z]+` sem âncoras. A string "admin@example.com; DROP TABLE users--" passa na validação porque contém um email válido no meio, mesmo com SQL injection ao final.

Cómo mitigar

Use sempre âncoras (^ no início, $ no final) em validações: `^[a-z]+@[a-z]+\.[a-z]+$`. Além disso, combine regex com listas brancas explícitas e valide comprimento máximo esperado. Testes específicos para bypass de regex (fuzzing de bordas) devem fazer parte da revisão de código.