- Navios
- 23 de setembro de 2026 às 01:49 UTC
- Autor
- Kamo
- Enviar
- f7b2bd5
Quatro furos relacionados, todos da mesma forma: um pedido carregou um autenticado membro, e isso foi tratado como suficiente. - Está bem. SessionFacesController.faces E... transcrição, rostos, lista ou recibos para qualquer membro autenticado de QUALQUER org, sem verificação de membros. Adicionado o mesmo portão de adesão * ************* já usado, mais um caso legítimo não membro: um solicitante de SUPPORT TICKET, pessoal de suporte próprio da org (mirrors SupportTicketService. getTicketDetail é a regra existente). SYSTEM BUG e EXEC2EXEC não recebem nada extra: o kamo-internal nunca lê estes parâmetros (confirmado contra app/api/support/system-bugs e app/api/support/exec2exec), então a simples recusa de adesão é correta e mantém este controlador fora do negócio de rederiving SystemBugThreadService redação repórter. getMessages ''limit'' está agora preso a 1..100; <=0 usado para cair para uma leitura ilimitada de toda a história. - MediaController.createMessage aceitou qualquer cliente-fornecido `imgId` em o loop do anexo com um imgRepositório nu. findById e nenhuma propriedade controlo — Img IDs são densos, então qualquer arquivo na plataforma (empréstimo docs, paciente gráficos, uploads de cofre) foi anexável a uma conversa que o atacante já estava dentro, então legível para trás da mensagem. Agora exige que a Img pertença a A própria organização do remetente E seja gravado como próprio desta sessão anexo (assocId=CHAT ATTACHMENT, assocObject Id=o guid de sessão — ver ChatAttachService# attach) ou foram criados pelo remetente eles mesmos. Os ramos SUPPORT TICKET/SOCIAL do mesmo método, anteriormente aberto a qualquer membro na teoria de que visitantes e membros do sistema abrangeram eles, agora exigem acesso do agente de ticket/org ou associação de conexão-org – visitantes anônimos nunca atingiram este ponto final; eles postam através PublicChatController, rota autenticada separadamente. * * ****************e cada WebChatIntegrationController handler verificou apenas "assinado em algum org". Agora requer o portão de telas kamo-internal direito no (GERAGE ACCESS RULES for API keys, MANAGE CHAT SETTINGS for the widget), e os escopos da chave pública de bate-papo são validados contra a mesma lista de permissões APIManager.tsx oferece um escopo artesanal (por exemplo, API SIGNATURE, que A API pública de e-sign do esigservice aceita por conta própria) agora é rejeitada em vez do que a totalidade armazenada. - SuporteTicketService's **************************** as mutações verificaram que o chamador tinha ACCEPT SUPPORT TICKETS ou GESTÃO APOIO NA SUA PRÓPRIA organização, nunca que foi do ticket Org próprio atribuído — um líder de apoio em org A pode resolver, reatribuir ou Aumentar o bilhete de org B por ID. requireTicketAccess mirrors getTicketDetail: solicitante, cessionário ou pessoal de apoio da própria org. StompDestinationAuthz agora protege /topic/suport/agent/{memberId} o mesmo como todos os outros tópicos por membro aqui é (subscrever: membro-igualdade apenas; Send: recusa-se a sair, sendo o SupportStompRelayController o único escritor legítimo). Testes: SupportTicketAccessControlTest e **************** ***fixar as novas regras diretamente (mutação verificado: castrando ************* faz 5 destes Red); StompDestinationAuthzTest e ************* cobertura O STOMP guarda e locais de chamadas atualizados. Teste completo `mvn` verde (1023 testes) antes deste commit.
