Fallos del tipo CWE-652

2 resultados

Injeção de XQuery

Ocorre quando dados não validados são concatenados diretamente em expressões XQuery, permitindo que um atacante injete comandos arbitrários. O aplicativo trata entrada do usuário como parte da lógica de query, não como dado, abrindo brecha para leitura ou manipulação não autorizada de dados XML.

Ejemplo

Um sistema de busca em documento XML recebe um parâmetro de search do usuário e constrói a query assim: `xquery = "//livro[titulo='" + userInput + "']"`; se o usuário enviar `' or '1'='1`, a query resultante retorna todos os livros independente do título.

Cómo mitigar

Use APIs XQuery que suportam prepared statements ou parameterized queries, evitando concatenação de strings. Valide e escape rigorosamente qualquer entrada do usuário antes de inseri-la em expressões XQuery, ou melhor ainda, implemente uma whitelist de valores aceitos.