Pare o cliente. direitos de ler as linhas de cada inquilino

FixSecurityService
Navios
26 de agosto de 2026 às 05:17 UTC
Autor
Kamo
Enviar
6a6662a

Cada endpoint que aceitou um VEZ OWN * direito como um OR-alternativo carregado seu gravar apenas pela chave primária, nunca verificando a quem pertencia: getSubscription, getSubscriptionOrder, getSubscriptionEventos, getInvoice, getSubscription Acordo e getSubscriptionAgreementHtml. orgId foi lido para o 401 e nunca usado Outra vez. Uma pessoa que tivesse apenas o direito ao cliente podia ler qualquer assinatura, Ordem, fatura ou acordo na plataforma dada a sua UUID. Endpoints que só aceitam o VEZ OWN * sozinho (getMySubscriptions, getMySubscriptionOrders, getMyInvoices, getMyAgreements) já derivado membroId da sessão e ficaram intocados. aceitarConcordo já passa membroId ao serviço e ficou intocado pela mesma razão, embora o serviço em si não verifique o aceitante possui o subjacente subscription -- esse gap vive no SubscriptionService, fora deste arquivo alcance, e é conhecido para acompanhamento em vez de fixo aqui. AssinaturaRecordDTO, AssinaturaOrderDTO e AssinaturaInvoiceDTO expor clienteMembroId diretamente, então esses quatro endpoints filtram após a busca por comparando-o ao membro da sessão do chamador. AssinaturaO acordoDTO expõe nem um membro nem um campo de proprietário direto -- somente organizaçãoId e uid de a subscrição a que pertence -- por isso os dois objectivos de acordo resolvem propriedade carregando essa assinatura e verificando o seu clienteMembro Em vez disso. 404, não 403, em um descompasso de propriedade: um 403 confirmaria os nomes UUID um registro real em outro inquilino, que é em si mesmo uma revelação. Nomeado como o contra-exemplo no próprio projeto do programa invariante 6.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços