KamoCRM

Verify RingCentral webhooks vor dem Vertrauen

FixVOIPService
Verschifft
23. September 2026 um 03:08 UTC
Autor
Kamo
Ausschuss
6f10239

Die eingehenden Anrufe/SMS-Webhaken von RingCentral wurden ohne Überprüfung verarbeitet: WebhookController routed Telefonie / SMS-Shop-Events direkt in ******************************************** war "Return true; // TODO", und Abonnements wurden ohne Überprüfung erstellt überhaupt. Der Endpunkt ist öffentlich. Jeder, der eine handgearbeitete Nutzlast POSTed könnte eine injizieren Text in beliebige org, schmieden STOP/START-Compliance-Events, lösen Sie einen Inbound-Call-Popup aus für eine beliebige Anzahl (Maut-Betrug neben) oder gefälschte "von" Inhalten, die zu einem Mitglied - und die To-Nummer-Auflösung ("findByFromPhoneNumber") wurde nie ausgespellt, a org, so dass die Nummer eines echten Kunden abgeglichen und dem falschen Mieter gezeigt werden könnte auch durch eine echt aussehende Nutzlast. Fix: - RingCentralWebhookProvisioner generiert jetzt eine zufällige Verifikation pro Instanz (perist in config_json, redigiert von den Einstellungen API), Register Abonnements unter einer pro-instanzen URL (-?instanceId=", passende Teams/JustCall) und sendet das Token als **************** also RingCentral hallt es zurück wie die "Verifikations-Token" Header auf jeder Benachrichtigung. RingCentrals eigenes Abonnement URL-Besitzership Handshake (der "Validation-Token"-Header WebhookController bereits echoes back) ist unberührt - das ist ein anderer Kopfball, der etwas anderes beweist. - **************** überprüft jetzt diesen Header in konstant Zeit und scheitert geschlossen (kein Token noch, kein Kopf, oder ein Mismatch alle verweigern). - WebhookController löst die Instanz von ??instanceId=", erfordert die Verifikations-Token-Check zu bestehen, und nur dann verarbeitet das Ereignis diese Instanz ist org. **************** und **************** beide haben einen verifiziertenOrgId Parameter erhalten: eine To-Nummer Match in einem DIFFERENT org als der verifizierte Webhook wird als unbe unseignet behandelt, genau wie eine Zahl, die niemand besitzt, nie vertraut. - Einsatz Sicherheit (die 3 Live-RingCentral-Instanzen dürfen nicht den eingehenden Verkehr verlieren): jeder Durchgang von RingCentralWebhookProvisioner bringt nun die tatsächliche Sache des Accounts in Einklang Abonnement-Liste - ein Pre-Fix-Abonnement (keine InstanzId/Token) ist DELETED und ersetzt durch eine verifizierte, so dass Live-Instanzen Selbstheilung innerhalb von 30 Pfund des neuen pod immer Leader (es läuft bereits bei der Inbetriebnahme + alle 12h). Für die Lücke vor dass heilen abgeschlossen, WebhookController akzeptiert immer noch ein Ereignis ohne InstanzId überhaupt unter den Pre-Fix, ungekopierte Regeln - aber NUR bis 2026-10-13, und jeder verwenden Sie protokolliert eine laute ************ Linie, so dass der Fallback sichtbar ist und nicht dauerhaft. Nach diesem Datum scheitert es geschlossen wie alles andere. Bericht für den Koordinator: Für die 3 Live-RingCentral-Instanzen keine Handlungsbedarf sie heilen automatisch auf nächster Sendung. Operativ, achten Sie auf ************ in voipservice-Logs nach diesem Einsatz; es sollte Aufhören, innerhalb von Minuten zu erscheinen. Wenn es immer noch in der Nähe von 2026-10-13 erscheint, finden Sie heraus warum das Abonnement dieser Instanz nicht geheilt wurde (RingCentralJwtTokenService Ausfälle vor dem Cutover separat protokolliert werden oder verlängern **************** Tests: ************ (fails geschlossen ohne Token/Header/Header/ falsches Token, akzeptiert das passende Token, Case-unsensitive Header), ************ (generates+persists+reuses das Token; Löst ein Pre-Fix-Abonnement und registriert einen verifizierten Ersatz; hinterlässt einen gesunden Strom Abonnement allein), plus Org-Scoping-Fälle zu VoipCallEventServiceTest hinzugefügt und VoipMessageServiceKeywordTest. Alle vier Mutation-geprüft: Rückführung der relevanten Wache dreht die entsprechende Prüfung rot, Wiederherstellung es wird grün.

Alle Änderungen

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen