Zatrzymaj klienta - prawa do czytania rzędów każdego najemcy

FixSecurityService
Szycy
26 sierpnia 2026 05:17 UTC
Autor
Kamo
Pochęt się
6a6662a

Każdy punkt końcowy, który zaakceptował VIEW_OWN_a, jako OR-alternative załadował swoje rekord sam klucz podstawowy, nigdy nie sprawdzając, do kogo należy: getSubscription, getSubscriptionOrder, getSubscriptionEvents, getInvoice, getSubscriptionPowiadom I getSubscriptionAgreementHtml. orgID został odczytany dla 401 i nigdy nie był używany Znowu. Osoba dzwoniąca posiadająca tylko prawo klienta może odczytać dowolną subskrypcję, Zamówienie, faktura lub umowa na platformie zważyta na podstawie UUID. Punkty końcowe, które akceptują tylko samo w sobie VIEW_OWN (getMySubscriptions, getMySubscriptionOrders, getMyInvoices, getMyAgreums) już się oszukiwać CzłonekId z sesji i został pozostawiony nietknięty. acceptAgreement już Przekazuje członkaId do służby i został nietknięty z tego samego powodu, Chociaż sama usługa nie weryfikuje akceptującego właściciela. Subskrypcja -- ta luka żyje w SubscriptionService, poza tym plikiem Zasięg i jest znany z kontynuacji, a nie ustalonego tutaj. SubscriptionRecordDTO, SubscriptionOrderDTO i SubscriptionInvoiceDTO expose klientMemberId bezpośrednio, więc te cztery punkty końcowe filtrują się po przejściu przez Porównanie go z członkiem sesji rozmówcyId. SubskrypcjaAgiendDTO ujawnia Ani członka, ani bezpośrednie pole właścicieli – tylko organizacjaId i Uid Subskrypcja, do której należy - więc dwa punkty końcowe umowy rozchodzą Właściciele poprzez załadowanie tej subskrypcji i sprawdzenie klientaMemberId Zamiast tego. 404, a nie 403, na niedopasowaniu własności: 403 potwierdziłoby nazwy UUID a Prawdziwy rekord w innym najemcy, który sam jest ujawnieniem. Nazwany jako kontrprzykład w własnym niewariantze projektu programu 6.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny