Falhas do tipo CWE-652
2 resultadosInjeção de XQuery
Ocorre quando dados não validados são inseridos diretamente em consultas XQuery, permitindo que um atacante altere a lógica da consulta. Como SQL injection, mas para documentos XML: o código concatena entrada do usuário na consulta sem sanitização, deixando a porta aberta para manipulação de dados ou extração não autorizada.
Uma aplicação busca clientes por nome construindo a consulta assim: `let $name := request:get-parameter('name') return /clientes/cliente[nome=$name]`. Um atacante passa `'] | /clientes/cliente[name!='` e consegue contornar a filtragem, acessando registros que não deveria.
Use variáveis ou parâmetros vinculados (prepared statements em XQuery) em vez de concatenação de strings. Valide e sanitize rigorosamente qualquer entrada antes de usá-la na consulta, restringindo caracteres especiais e tamanho máximo de dados.