KamoCRM

Vérifier les webhooks de RingCentral avant de leur faire confiance

FixVOIPService
Expédié
23 septembre 2026 à 03:08 UTC
Auteur
Kamo
Commite
6f10239

Les internautes entrants/SMS de RingCentral ont été traités avec zéro vérification: WebhookContrôleur assaisonneurs itinérants/message-stockage était «retour vrai; // TODO», et des abonnements ont été créés sans vérificationToken en tout cas. Le point d'extrémité est public. Toute personne qui a possédé une charge utile artisanale pouvait injecter un texte dans n'importe quel org, forger des événements de compliance STOP/START, déclencher une popop-up entrante pour un nombre arbitraire (toll-fraude adjacente), ou un contenu "d'excusation" montré à un et la résolution à chiffrer (touchdByFromPhoneNumber) n'ont jamais été définies pour un og, donc le nombre de clients réel pourrait être égal et montré au mauvais locataire même par une charge utile réelle. Fix: - RingCentralWebhookProvisioner génère maintenant une vérification aléatoire par instance. (persisté en configuration, caviardé à partir de l'API de paramètres), enregistre les abonnements à une URL par instance (?instanceId, matching Teams/JustCall), et envoie le jeton RingCentral l'adrite de retour en tant que En-tête «Verification-Token» sur chaque notification. Abonnement de RingCentral Procès-belleadresse de l'URL (le tête de "Validation-Token" Déjà échos dos) est intact - c'est un en-tête différent qui prouve une chose différente. - - vérifie maintenant cet en-tête en permanence le temps et échouent fermé (pas de jeton pour l'instant, pas d'en-tête, ni d'inadéquation, tous les déchets). - WebhookController résout l'instanced, nécessite le Vérification - Vérification du jeton à passer, et seulement ensuite traiter l'événement - portée à l'orge de cette instance. les deux ont obtenu un paramètre d'OrgId vérifié: a à numéro correspondance dans un gisement DIFFÉRENT que le webhook vérifié est traité comme non possédable, exactement comme un nombre que personne ne possède, n'a jamais fait confiance. - Déployer la sécurité (les 3 cas RingCentral en direct ne doivent pas perdre la circulation entrante): chaque passage de RingCentralWebhookProvisioner concilie désormais le compte réel liste d'abonnement - un abonnement de préfixe (pas d'instanceId/token) est DELETED et remplacé par un cas vérifié, de sorte que les instances en direct se guérissent dans les 30 points de la nouvelle pod devient leader (il fonctionne déjà au démarrage - tous les 12 heures). Pour l'écart avant qui guérit complète, WebhookController accepte toujours un événement sans instanceId dans le cas des règles de préfixe, non-arganches - mais UNIQUEMENT jusqu'en 2026-10-13, et tous les utiliser des logs une ligne forte - afin que la solution de secours soit visible et non permanent. Après cette date, il échoue comme tout sauf. Rapport pour le coordonnateur: aucune action n'est nécessaire pour les trois instances RingCentral en direct ils guérissent automatiquement lors du prochain déploiement. Sur le plan opérationnel, veille dans les journaux voipservice après que cela se déploie; il devrait arrêter d'apparaître en quelques minutes. S'il apparaît encore près de 2026-10-13, s'informer pourquoi l'abonnement de cette instance n'a pas été guéri (RingCentralJwtTokenService sont enregistrées séparément) avant la coupure, ou - Essais: (échecs fermés sans jeton/en-tête/ un jeton erroné, accepte le jeton correspondant, l'en-tête insensible au casécule), (métrer à la voix du jeton; supprimer un l'abonnement à la fixation préalable et enregistre un remplacement vérifié; laisse un courant sain abonnement seul), plus étuis de cueillette org à VoipCallEventServiceTest et VoipMessageServiceKeywordTest. Quatre cas de mutation contrôlés : revenir sur le sujet Le garde fait tourner le test rouge correspondant, en le restituant, le rend en vert.

Tous les changements

Comme ce que tu vois expédier ?

Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.

Commencez gratuitement pour toujoursPrix de visualisation