- Dikirim
- 23 September 2026 pukul 03.08 UTC
- Penulis
- Kamo
- Commit
- 6f10239
Panggilan masuk RingCentral / SMS webhook diproses dengan nol verifikasi: WebhookController dialihkan telephony / message- kejadian langsung ke * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * was 'return true; / / TODO', and subscriptions were created with no verificationToken Sama sekali. Titik akhirnya adalah publik. Siapa pun yang posted muatan dibuat bisa menyuntikkan teks ke org manapun, tempa TOP / START compliance events, memicu popup inbound- call untuk sebuah nomor sewenang (tol-penipuan berdekatan), atau spoof "dari" isi ditampilkan ke sebuah anggota - dan resolusi to-number ('findByFromPhoneNumber') tidak pernah scoped ke org, sehingga nomor pelanggan nyata dapat dicocokkan dan ditampilkan kepada penyewa yang salah bahkan oleh muatan yang tampak kecerdikan. Perbaiki: - RingCentralWebhookProvisioner sekarang menghasilkan sebuah acak perinstance verifikasi Token (Desak dalam config _ json, dihapus dari konfigurasi API), daftar subscriptions pada sebuah URL per instance ('? instanceId =', pencocokan Tim / JustCall), dan mengirimkan token as * * * * * * * * * * * * * * so RingCentral echoes it back as the 'Verification- Token' header pada setiap pemberitahuan. Berlangganan RingCentral sendiri Jabat tangan kepemilikan URI ('Validation- Token' header WebhookController sudah gema kembali) tidak tersentuh - itu adalah header yang berbeda membuktikan hal yang berbeda. - * * * * * * * * * * * * * * * sekarang cek yang header dalam konstanta waktu dan gagal ditutup (belum ada tanda, tidak ada header, atau tidak cocok semua menolak). - WebhookController menyelesaikan instansi dari '? Id =', membutuhkan Verification-Token check to pass, and only then process the event - scoped to contoh org. Dan... * * * * * * * * * * * * * keduanya memperoleh parameter verifiedOrcId: a to- number cocok dalam sebuah DIFFERENT org dari yang diverifikasi webhook diperlakukan sebagai unowned, persis Seperti nomor yang tak dimiliki siapapun, tak pernah dipercaya. - Menyebarkan keselamatan (Instansi RingCentral 3 hidup tidak boleh kehilangan inbound lalu lintas): setiap tahap RingCentralWebhookProvisioner sekarang mendamaikan aktual akun daftar berlangganan - sebuah pre-fix berlangganan (tidak instanceId / token) adalah DELETED dan diganti dengan yang diverifikasi, jadi langsung sembuh dalam ~ 30-an dari yang baru pod menjadi pemimpin (sudah berjalan di startup + setiap 1rah). Untuk kesenjangan sebelum bahwa penyembuhan komplit, WebhookController masih menerima acara dengan instanceId di bawah pra- fix, unscoped aturan - tapi HANYA sampai 2026- 10, dan setiap gunakan log keras * * * * * * * * * * * * * * * * * * * * * garis sehingga fallback terlihat dan tidak permanen. Setelah tanggal itu gagal ditutup seperti yang lainnya. Laporan untuk koordinator: tidak ada tindakan yang diperlukan untuk 3 kasus RingCentral - mereka sembuh secara otomatis pada penyebaran berikutnya. Operasional, perhatikan * * * * * * * * * * * * * * dalam log layanan voipservice setelah ekspys ini; itu seharusnya Berhenti muncul dalam beberapa menit. Jika masih muncul mendekati 2026-10-13, cari tahu mengapa langganan instansi itu tidak disembuhkan (RingCentrail JwtTokenService gagal adalah login secara terpisah) sebelum cutover, atau memperpanjang * * * * * * * * * * * * * * * Tes: * * * * * * * * * * * * * * * (gagal ditutup tanpa token / header / token salah, menerima pencocokan token, case- sensitivitas header), * * * * * * * * * * * * * * * (menghasilkan + perists + reuses the token; hapus sebuah pre- fix langganan dan register pengganti yang diverifikasi; meninggalkan arus sehat berlangganan saja), plus org- scoping kasus ditambahkan ke VoipCallEventService Uji dan VoipMesgageServiceKeywordTest. Semua empat mutation-diperiksa: Mengembalikan relevan penjaga mengubah tes merah yang sesuai, memulihkan ternyata hijau.
