Directus · Directus · CVE-2024-39701
**Nome do software vulnerável e versões afetadas**
Versões do Directus 9.23.0 a 10.5.3
**Descrição**
O problema decorre do tratamento inadequado dos operadores ` in` e ` nin` no Directus, onde matrizes vazias são consideradas válidas. Isso leva a uma falha no controle de acesso, pois regras destinadas a serem aprovadas apenas quando um campo corresponde a qualquer um dos valores fornecidos deixam de funcionar corretamente. Por exemplo, uma expressão como `{“role”: {“ in”: $CURRENT USER.some field}}` seria avaliada como verdadeira, permitindo que a solicitação fosse aprovada mesmo quando não deveria. Isso pode resultar em usuários obtendo acesso a recursos não autorizados.
**Recomendações**
Para as versões 9.23.0 a 10.5.3 do Directus, atualize para a versão 10.6.0 ou posterior para resolver o problema. Como solução temporária, considere restringir o uso dos operadores ` in` e ` nin` nas regras de filtro até que a atualização possa ser aplicada. Além disso, revise e ajuste as regras de validação para garantir que elas não dependam do comportamento defeituoso desses operadores.