PT-2026-81397 · Pypi · Qwed
CVSS v3.1
8.8
Alta
| Vetor | AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
QWED versões anteriores a 5.1.2
Description
Usuários autenticados podem executar código Python arbitrário no processo do servidor de API porque o pacote
qwed passa expressões matemáticas controladas pelo usuário para a função parse expr() do SymPy sem restringir os namespaces global dict e local dict. Como a parse expr() utiliza internamente a função eval() do Python, isso permite o comprometimento total do sistema, incluindo a leitura ou gravação de arquivos, a execução de comandos do sistema operacional e o acesso a dados de outros locatários em implantações compartilhadas.Os detalhes técnicos incluem dois caminhos vulneráveis:
- O endpoint
POST /verify/mathlê a variávelexpressione a passa para aparse expr()após uma normalização cosmética. - O endpoint
POST /verify/batchprocessa itens onde a variávelqueryé passada para aparse expr()quando o tipo é definido comoVerificationType.MATH.
Atacantes podem obter a autenticação necessária utilizando o endpoint
POST /auth/signup, habilitado por padrão, para criar uma conta de locatário e o endpoint POST /auth/api-keys para gerar uma chave de API.Recommendations
Atualize o QWED para a versão 5.1.2.
Como mitigação temporária, restrinja o acesso aos endpoints
POST /verify/math e POST /verify/batch ou desative o endpoint POST /auth/signup para evitar a criação de contas não autorizadas.Exploit
Correção
Code Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Qwed