PT-2026-45068 · Unknown · Praisonai-Platform

CVE-2026-48169

·

Publicado

2026-05-29

·

Atualizado

2026-07-13

CVSS v3.1

8.8

Alta

VetorAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas PraisonAI Platform (versões afetadas não especificadas)
Description A API do PraisonAI Platform contém falhas de autorização que quebram o isolamento de workspaces. A camada de serviço para problemas (issues) e projetos realiza buscas globais por chave primária sem verificar a propriedade do workspace, permitindo que qualquer usuário autenticado leia, modifique ou exclua recursos em qualquer workspace manipulando UUIDs em requisições de API. Além disso, os endpoints de gerenciamento de membros exigem apenas a função member, permitindo que qualquer membro de um workspace se promova a owner e remova o proprietário original.
Detalhes técnicos incluem:
  • API Endpoints: /api/v1/workspaces/{workspace id}/issues/{issue id} e /api/v1/workspaces/{workspace id}/projects/{project id} são suscetíveis a Insecure Direct Object Reference (IDOR) porque a camada de serviço ignora o workspace id fornecido na URL.
  • Vulnerable Parameters: As variáveis issue id e project id são usadas para buscas globais sem a delimitação do workspace.
  • Function Names: IssueService.get(), IssueService.update(), IssueService.delete(), ProjectService.get(), ProjectService.update(), ProjectService.delete() e ProjectService.get stats() falham em impor os limites do workspace. Além disso, update member role() e remove member() nas rotas de workspace carecem de verificações adequadas de hierarquia de funções.
Recommendations
  • Restringir todos os métodos get(), update() e delete() no IssueService e ProjectService para verificar se o recurso pertence ao workspace id fornecido.
  • Modificar as rotas da API para passar o workspace id da URL para os métodos de serviço correspondentes.
  • Atualizar as rotas de gerenciamento de membros para exigir a função owner através da dependência require workspace member().
  • Implementar travas no update member role() para evitar a autopromoção e a escalada de privilégios.
  • Implementar travas no remove member() para evitar a remoção do último proprietário do workspace e para impor a hierarquia de funções.

Correção

Missing Authorization

IDOR

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-48169
GHSA-GV23-XRM3-8C62
PYSEC-2026-2935

Produtos afetados

Praisonai-Platform