PT-2024-40418 · Quickjs+1 · Quickjs+1
Publicado
2024-02-21
·
Atualizado
2024-02-21
CVSS v3.1
8.5
Alta
| Vetor | AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do SurrealDB anteriores à 1.1.1
Versões do crate rquickjs anteriores à 0.4.2
Descrição
O problema decorre do crate
rquickjs utilizado pelo SurrealDB, que executa funções de script. A função Exception::throw type no rquickjs recebe uma string e retorna um objeto de erro. Nas versões anteriores à 0.4.2, essa string é passada diretamente para printf, levando a um comportamento indefinido quando a entrada contém strings de formato como %s ou %d. Isso pode ser explorado por um invasor com privilégios para executar funções de script, permitindo-lhe potencialmente ler memória arbitrária ou executar código arbitrário com os privilégios do processo do SurrealDB.Recomendações
Para versões do SurrealDB anteriores à 1.1.1, atualize para a versão 1.1.1 ou posterior para resolver o problema.
Para versões do crate rquickjs anteriores à 0.4.2, atualize para a versão 0.4.2 ou posterior para resolver o problema.
Como solução temporária, considere restringir o acesso às funções de script removendo a capacidade de script com
--deny-scripting ou a variável de ambiente equivalente SURREAL CAPS DENY SCRIPT=true, ou limite o acesso à rede a usuários confiáveis.Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Surrealdb
Quickjs