- Verschifft
- 23. September 2026 um 11:14 UTC
- Autor
- Kamo
- Ausschuss
- d47b471
/topic/chat/session/{guid] und /topic/webrtc/session/{guid' wurden nicht bewacht überhaupt: jede authentifizierte Steckdose könnte SUBSCRIBE zu einer anderen Sitzung live Chat-Nachrichten oder WebRTC Angebot/Antwort/ICE-Verkehr rein durch Wissen (oder raten) seine guid - der lebende Zwilling des Transkript-Lese-Lochs MediaController.canReadSession für HTTP geschlossen (f7b2bd5). Client SEND zu entweder war auch offen; kein legitimer Kunde sendet jemals zu ihnen (jeder echte man nur abonniert), so dass ein gefälschtes SEND eine gefälschte Live-Nachricht injizieren könnte oder Signalrahmen in eine Sitzung, die der Fälscher nicht einmal lesen kann. WebSocketConfig.preSend schützt jetzt SUBSCRIBE zu beiden Präfixen mit SessionAccessGuard#canRead - die gleiche Regel, die MediaControllers Lesetor verwendet, nicht eine vierte Kopie davon - und ************ jetzt lehnt SEND zu beiden direkt ab und passt jedes andere Thema in dieser Möglichkeitsliste ab. canRead benötigt einen zweiten Einstiegspunkt: seine bestehende Signatur fragt HttpServletAnfrage für die Rechte des Anrufers (SUPPORT_TICKET's extra Eintritt), und ein STOMP-Rahmen hat keine - nur was WebSocketAuthInterceptor in die Sitzung bei CONNECT eingestempelt (memberId/orgId/rights, read off the dieselbe *** Sitzung, die eine HTTP-Anfrage gelöst hätte). Die neuen kann(Abschluss, Anrufer, Liste<String-Rechte) Überlastung nimmt diese Form an dezidiert nun beide zu einer privaten Umsetzung, so dass Die eigentliche Regel wird immer noch genau einmal geschrieben. Ein öffentlicher Chat-Besucher ist überhaupt kein Mitglied - PublicChatWebSocketInterceptor Briefmarken istPublicChat/sessionGuid stattdessen, bereits gelöst und verifiziert gegen ihre Sitzung Token am Handschlag. Ihre Rebonnenungsregel ist eine direkte guid match dagegen, nie SessionAccessGuard#canLesen (was erfordert eine Mitglied und würde einen Anrufer ablehnen, der keine hat) - bestätigt gegen kamo-internal, die immer nur abonniert zu diesen beiden Themen und nie sendet an beide. Überschrieben von ************ (Mitglied zugelassen/verweigert von der Wache, gab ein öffentlicher Besucher zu ihrer eigenen Sitzung und lehnte eine verschiedene, unzusammenhängende Themen unberührt), neue Fälle in SessionAccessGuardTest und StompDestinationAuthzTest für die Rechteliste Überlastung und die neue SENDEN-Verweigerung. Mutation-geprüft: Das Neue fallen lassen SUBSCRIBE-Prüfung, bricht die eigene Regel der Rechteliste, und (als Regressionscheck) die bereits bestehende "unbewachte" Behauptung, die diese schließt jede Drehen Sie eine bestimmte Behauptung rot; alle wiederhergestellt und grün.
