- Szycy
- 23 września 2026 11:14 UTC
- Autor
- Kamo
- Pochęt się
- d47b471
/topic/chat/session/'guid' i /topic/webrtc/session/'guid' nie były strzeżone W ogóle: każde uwierzytelnione gniazdo może SUBSCRIBE na inną sesję na żywo Wiadomości czatu lub oferta/odpowieści WebRTC/kody ruchu wyłącznie poprzez wiedzę (lub Zgadywanie) jego przewod - żywy bliźniak łowcy do otworu z napisem MediaController.canReadSession zamknięty dla HTTP (f7b2bd5). Klientowi należy się do Albo był również otwarty; żaden legalny klient nigdy nie wysyła do nich (wszystko rzeczywiste Zasubskrybt tylko), więc sfałszowany SEND może wstrzyknąć fałszywą wiadomość na żywo lub Sygnalizacja kadru w sesję, której fałszerz nie może nawet przeczytać. WebSocketConfig.preSend teraz pilnuje SUBSCRIBE obu prefiksów z SessionAccessGuard-canRead - ta sama reguła używa bramy odczytu MediaController, Nie jest to czwarta kopia - i teraz Odmawia Sadnie do obu wprost, dopasowując każdy inny temat w tej liście. canRead needed a second entry point: jego istniejący podpis prosi o HttpServletProszenie o prawa dzwoniarza (SUPPORT_TICKET's extra Przyjęcie) i ramka STOMP nie ma żadnej - tylko to, co WebSocketAuthInterceptor Opieczętowany na sesji w CONNECT (członek Id/orgId/prawy, odczytuj z karty To samo - sesja, którą wymaganołby HTTP, rozwiązałaby). Nowy canRead(session, caller, List-String> prawa) przeciążenie to wymaga takiego kształtu Bezpośrednio; oba przeciążenia delegują teraz do jednego prywatnego wdrożenia, więc Rzeczywista reguła jest pisana dokładnie raz. Publiczny gość czatu w ogóle nie jest członkiem - PublicChatWebSocketInterceptor Znaczki isplublicChat/sessionGuid zamiast tego, już rozwiązane i zweryfikowane Przeciwko ich partykulanemu w uścisku dłoni. Ich reguła subskrypcji jest bezpośrednia Rezygnacja z tym, nigdy SessionAccessGuard-canRead (co wymaga Członek i odmówiłby dzwoniącemu, który nie ma żadnego) - potwierdzony przeciwko kamo-internal, który tylko poddaje się tym dwóm tematom i nigdy Wysyła do obu. Zawioty: (odmowa do przyjęcia/odmowa Przygotowany przez strażnika, gość publiczny przyznał się do własnej sesji i odmówił Różne, niepowiązane tematy nietknięte), nowe przypadki w SessionAccessGuardTest i StompDestinationAuthzTest na listę praw Przeciążenie i nowa odmowa SEND. Sprawdzone mutacje: upuszczenie nowego Kontrola SUBSCRIBE, łamanie własnej zasady przeciążenia listą praw i (jako Cofliktacja) istniejące wcześniej "niestrzeżone" twierdzenie, że zamyka każde z nich Zmień konkretne stwierdzenie na czerwono; wszystkie odrestaurowane i ponownie zielone.
