KamoCRM

La signalisation WebRTC, la gestion des webinaires et les calendriers de Canva cessent de faire confiance à l'appelant.

FixMediaService
Expédié
23 septembre 2026 à 02:12 UTC
Auteur
Kamo
Commit
fbdc871

Trois autres de la même forme. - WebRTCSignalingContrôleur relayé directement à - en utilisant uniquement la charge utile sessionGuid, sans rien vérifié sur l'appelant CONNECTED - sont exactement les cas de contrôle du client comme la guid de session elle-même. Chaque manipulateur refuse désormais de se relayer, à moins que le MembreId de la session STOMP (estampillé à CONNECT, jamais fourni par le client) est membre de cette session. Le compagnon d'écart entre les partenaires et les autres StompDestinationAuthz (/topic/webrtc/session/et /topic/chat/session/ n'y sont pas gardés) a besoin d'un changement dans WebSocketConfig.preSend, qui cette tâche explicitement réservée à un agent différent fixant une diagraphie la découverte dans ce fichier - laissé seul ici pour éviter la collision; drapeau pour le coordonnateur. - Mise à jourWebinarType, supprimerWebinarType, addPresenter, updatePresenter, removePresenter, addReminder et supprimerReminder tous les MANAGE-SUPPORT vérifiés dans l'appelant org, mais ne l'a jamais comparé à l'org de possession réelle de l'identifiant - un gestionnaire n'importe où sur la plateforme pourrait éditer, supprimer ou régénérer tout autre webinaire d'org Catalogue par id. Ajouté rappelOwnerOrgId (même forme que la restriction existanteOwnerOrgId) et a n'est pas vérifié par le contrôleur avant chaque mutation. getScheduledWebinars(typeId) a renvoyé le nom et l'e-mail de chaque participant à toute organisation éligible à la réservation du type - qui, pour un type publié par un parent, peut être plusieurs enfants sans rapport avec l'un à voir les uns avec les autres; il omet maintenant la liste (attendeeCount is all WebinarSchedleWizard.tsx jamais rendu de celui-ci) plutôt que de dater le point d'extrémité lui-même, qui aurait brisé ce flux de réservation légitime entre les deux et autres. annulerWebinar n'avait aucun contrôle du droit; maintenant le présentateur désigné ou la réservation Le titulaire de l'entretien d'org peut annuler, personne d'autre. et CanvaRecipeController.save checked seulement que l'appelant a été signé dans l'ordonnance, en correspondance avec ni l'un ni l'autre n'est le cas. Onglet des réglages des matériaux (MANUI - MATÉRIAUX, - GESTIONNELLE-SOCIALMEDIA une fois runAsMemberId a été stocké mot pour mot à partir du l'organisme de demande - n'importe quel membre id dans n'importe quel org - de sorte qu'un horaire pourrait être établi à mener une génération récurrente de Canva, et auto-poste à la propre société de l'orge compteurs, utilisant le jeton Canva connecté d'un membre totalement indépendant. Maintenant validé par rapport à l'organisation de l'appelant, et CanvaScheduleSweep revérifie le même fait au moment de l'exécution au cas où une ligne est antérieure au correctif ou un membre change d'org. Tests: WebinarCrossOrgOwnershipTest et - épingle les nouvelles règles à l'encontre des contrôleurs/services réels (MockMvc sur une moquerie Service/AuthHelper, correspondance GamesEntitlementEndpointTest's own reasoning pour pourquoi la porte elle-même doit être réelle). Mutation vérifiée: silencieuse Vérification de la propriété dans updateWebinarType et le contrôle d'orgg runAsMemberId chaque a tourné exactement le test construit pour lui en rouge. Test complet de mvn vert avant cet engagement.

Tous les changements

Comme ce que vous voyez l'expédition?

Commencez avec le plan gratuit et lisez à nouveau cette page dans un mois, puis passez à l’abonnement payant pour bénéficier de toutes les fonctionnalités.

Commencez gratuitement pour toujoursVoir la tarification