PT-2026-51637 · Amazon+4 · Dynamodb+4
CVSS v3.1
10
Crítica
| Vetor | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N |
Nome do Software Vulnerável e Versões Afetadas
Budibase server versões anteriores a 3.39.1
Descrição
Existe um problema onde a função
enrichContext substitui valores de parâmetros no corpo JSON bruto de uma consulta e, em seguida, analisa o resultado usando JSON.parse. A função validateQueryInputs não escapa metacaracteres JSON, como ", `` e }, rejeitando apenas marcadores Handlebars. Isso permite que um invasor injete aspas de fechamento e chaves adicionais, elevando campos controlados pelo invasor para o objeto de filtro analisado.Para operações
find do MongoDB, o filtro analisado é passado diretamente para collection.find(), permitindo que um invasor ignore os filtros e retorne todos os documentos de uma coleção. Da mesma forma, em consultas updateMany, o escopo do filtro pode ser ampliado para toda a coleção, fazendo com que o corpo $set seja executado em todos os documentos correspondentes.O middleware
authorized ignora as verificações de autenticação e CSRF quando a função de uma consulta está definida como PUBLIC. Consequentemente, um visitante não autenticado pode usar o endpoint POST /api/v2/queries/:queryId, fornecendo apenas um cabeçalho x-budibase-app-id público, para ler ou modificar todos os documentos em coleções MongoDB, CouchDB, Elasticsearch, DynamoDB-PartiQL ou REST com corpo JSON.Recomendações
Atualize o Budibase server para uma versão posterior a 3.39.0.
Como medida paliativa temporária, evite definir a função de consultas não SQL (MongoDB, CouchDB, Elasticsearch, DynamoDB-PartiQL ou REST com
bodyType=json) como PUBLIC até que a atualização seja aplicada.Exploit
Correção
SQL injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Budibase
Couchdb
Dynamodb
Elasticsearch
Mongodb