PT-2024-40418 · Quickjs+1 · Quickjs+1

Publicado

2024-02-21

·

Atualizado

2024-02-21

CVSS v3.1

8.5

Alta

VetorAV: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

GHSA-Q3GG-M8HR-H4X4

Produtos afetados

Surrealdb
Quickjs