- Shiked
- 23 Eylül 2026 08:54 UTC
- Yazar
- Kamo
- Commit
- da4e9f3
Telefon sistemi denetiminden 2-6 bulmak, birlikte sabitlenir çünkü birkaç paylaşım dosyası. 2. YÜKSEK - VoipInstanceController herhangi bir mutating endpoint üzerinde doğru çek yoktu **************** herhangi bir imzalanmış üye ya dag, sadece onun VOIP değil adminler, bir telefon sunucusunun bilgilerini oluşturabilir veya yeniden belirleyebilir. Şimdi gerektirmektedir MANAGE VOIP SETTINGS, aynı doğru ayarlar -> Özellikler -> Telefonun kendisi kapalıdır. Ayrıca: platformUrl/baseUrl değersizdi, bu yüzden bir üye RingCentral'in token mint noktası olabilir (Bu, org'un gerçek müşteriId/clientGizlilik + JWT) veya bir FreePBX GraphQL müşterisini ev sahibi olarak gönderir Onların seçme ve kimlik yakalama veya pod ağına ulaşmak (Redis/MinIO/Yugabay all Cevaplanmamış cevap, hiçbir egress NetworkPolicy). PhoneServerUrlGuard ile sabit: RingCentral Şimdi kendi iki ev sahibiyle sınırlı kaldı (prodüksiyon/sandbox); FreePBX genel halka açık-yalnızca AudiF check, kamo-shared-library's PublicHostGuard (aynı ilkel güvenlik hizmetinin) üzerine inşa edilmiştir. GüvenliSiteFetcher ve aiservice's OutboundUrlGuard kullanımı). Hem RingCentralJwtTokenService's hem de FreePBXTokenCache'in token önbellekleri ev sahibi olmadan anahtarlandı, bu yüzden canlı bir Ayıer token minted Gerçek ev sahibine karşı, bir platformUrl/baseUrl düzenlemesinden sonra yeni bir kişiye gönderilmeye devam edecektir - Her iki önbellek anahtarı da şimdi içeriyor. BirleşmeConfig artık maskeli bir " " gizli bir sürüşe izin vermiyor Yeni set ev sahibi ( yeniden başlatılamaz), KamoPBX'in sunucu-assigned accountId/realm'i asla bir araya getirmez Bir müşteri ve Test Bağlantı / manuel senkronizasyon artık bir ham istisna mesajı yankılayamaz (bu da olabilir) Hedef ev sahibi veya çağrıcıya geri bir yanıt parçası taşımak. Telnyx'in apiKey'i ekledi SECRET FIELDS. 3. YÜKSEK - ÜyeVoipConfigController'in PUT sadece hedef üyesinin caller'in içinde olduğunu kontrol etti. org. Herhangi bir imzalanmış üye bir COLLEAGUE'nin ******** ve**** ve SipController.getSipCredentials elleri şu anda atandığında geri döndü - a Aynı-org hesabı ilkel, sadece bir IDOR değil. Şimdi MANAGE EXTENSIONS veya MANAGE VOIP SETTINGS koşulsuz olarak, ayarları UI'nin kendi yorumuna uygun olarak, genişletin Görev yönetici yönetildi ve asla kendi kendine hizmet etmiyor. ÖrneğinId şimdi de kontrol ediliyor caller's org - daha önce farklı bir organizasyondan bir telefon sunucusu adlandırılabilir ve eğer uzantılarından biri imzalanmamış oldu, iddia etti. 4. YÜKSEK - hiçbir yerde doğru çek yok: ******************************** (create/update /delete / Test/test-send/send), VoipDevicesController, VoipUsersController, VoipExups, VoipOrgAggregateController, OrgPhoneNumberController, MemberPhoneNumberController. Çoğu şimdi İlgili kamo-internal ekranın kendisi üzerinde (MANAGE VOIP SETTINGS Telefon-server envanter / numaralar ekranları için, **************** için uzatma ataması). VoipOrgAggregateController'in /org / fatura e-postaları ek olarak gereklidir İNCELE VOICEMAIL özellikle ( VoipVoicemailController, org-aggregate varsayılan) ve Aynı PHI transcript-disclosure denetim çağrısı kazandı. BulkTextInstanceController's /send gönderildi No outbound consent/eression kapısı ile keyfi SMS - şimdi reddetti (409) En son TCPA SMS ConsentRecord REVOKED'dir, WORM öncülüğü SmsKeywordService'ı okumak zaten zaten zaten. Her inbound STOP /START, onant-scoped so a STOP to a different org never block this Biri. ÜyePhoneNumberController "doğru gerekli olan, dönem" için bir istisnadır: VOIP'in aksine uzatma / durum ataması ( 3'ü takip etmek, açık ürün tarafından her şeyde kendi kendine hizmet yolu bulmak Karar - ayarlar UI'nin kendi yorumu bunu söylüyor, ayarlar / üye Telefon sekmesinin ÜyeTextNumbersCard, her görüntüleyici tam self-servis kontrolleri sunar (assign/remove/make-primary) OWN sayılarının üzerinde hiçbir yönetici-sadece kendi kapısı yok - bu sayfa ACCESS VOIP'de ulaşılabilir Tek başına, kendi yorumlarında: "ACCESS *, kullanıcının kendi ayarlarını yönetmesini kapsar; MANAGE * Yönetimler bir üye adına yapılandırılır.” Bu kontrolör yerine kendi kendine bağlı bir yönetim kuralına sahiptir (mirrors ************ mevcut şekli): Bir üye yönetir Kendi sayıları özel değil; bir meslektaşın üzerinde hareket etmek hala MANAGE EXTENSIONS veya MANAGE VOIP SETTINGS. Burada bir yönetici-sadece kuralı 403'ün her ACCESS VOIP'i olurdu Bugün çalışan bir kart dışında. 5. MEDIUM - ************ ORG PHONE NUMBER'in eşsiz indeksi (org id, telefon canon), tek başına (telefon canon) değil (deliberately, bu yüzden bir ported sayı tarihi olabilir Zaman içinde iki kuruluş altında var – ama hiçbir şey bir SECOND veyag'i yaratmaktan vazgeçmedi Bir dizi doğrudan veyag için kendi satırları zaten aktif olarak tutuluyor, çünkü elde()/findByNumber() org-scoped Ve sadece diğer org sırasını bulamazdı. save() şimdi yeni bir satır oluşturmaya reddediyor Başka bir org zaten aynı sayı üzerinde aktif bir iddiaya sahiptir; keşif (bu da sağlayıcıya sorar). Kendisi, sahipliğin gerçek kanıtları, öyledir. ÜyePhoneNumberService'ın atama/unassign / SetPrimary/forMember, org'a karşı sadece bir numara doğrulamadı, ancak hiçbir zaman hiçbir zaman üye olmadı - bir araya birleştirilmiş Adım()'in ÜyeVoipConfig'e yazdığı yazı (yalnızca üye kimliği ile göz ardı edildi), bir çağrıcı org, A DIFFERFERENT ORG'nin kendi telefonlarında gerçek bir MEMBER'i yeniden ortaya çıkarabilir. altyapı. MemberInOrganizasyondur. 6. LOW (perf) – InstanceSyncService, her önbellekli uzatma / kullanıcı / adres / fatura posta satırını tekrarladı Her süpriz bir tarihle süpürüldü, sağlayıcı farklı bir şey rapor ettiğinde bile - ~23k anlaşılabilir UPDATEs/day. Dört senkronize yöntemin her biri şimdi yazmaktan önce her alanı karşılaştırır Bu ve sadece bir şey gerçekten değiştiğinde tasarruf eder. Testler: PhoneServerUrlGuardTest, ************************ **************** RingCentralJwtTokenServiceTest (new case), FreePBXTokenCacheTest, ************************ **************** **************** **************** **************** **************** (Kendi kendine hizmet izin verilir, çapraz üye Yönetim haklı, hem de kabul edilen hakları gerektirir), ******************** Haklar-sadece aynılar **************** doğrulandı Kod incelemesi ve tam-suite derlemesi kontrolör başına özel bir test yerine - desendir Aynı ve zaten **************** ve ******************** Yukarıdaki her koruma mutasyon kontrol edildi ( yerel olarak başarısız oldu, eşleştirme testi kırmızı, restore edildi). Üç pre-existing VoipInstanceController testleri **************** VoipInstanceJustCallIdTest, **************** Tarih 2 bulmak ve oturumlarını herhangi bir hak listesi ile inşa etmek; Şimdi MANAGE VOIP SETTINGS'i içeriyorlar, bu yüzden hala yazdıkları davranışları egzersiz yapıyorlar (provisioninging) Yeniden deneme, JustCall id evlat edinme, JWT-shape geçerliliği) ilk önce yeni doğru kontrolü gezilemek yerine. **************** FreePBX davası aynı zamanda "pbx.örf.com" yer sahibi olmayan bir çözümü de değiştirdi. Gerçek bir IP için, PhoneServerUrlGuard'in bazUrl kontrolü şimdi gerçek bir DNS görünümü gerçekleştiriyor. Koordinatör için rapor: Hiçbir şema değişikliği, yapılandırılmamış değişiklikler, hiçbir ağ geçidi değişikliği gerekli değildir Bu altı bulguları (yalnızca 1'in raporunu bulmak operasyonel bir takip vardır). Onaylandı apiservice: forwards /api/voip/** toptan, bu yüzden bulguları 2, 3, 5 ve 6 orada hiçbir şeye ihtiyaç duymaz. BulkTextInstanceController (görmek 4) /api/bulktext/instances/**'de oturuyor, hangi apiservice kasıtlı olarak vahşi kartpostal yapmaz (sadece /api/bulktext/inbound/** kamudur, iç içerideki içilir X-Internal-Auth /api/bulktext/send from ever being reachable from internet) – ama asla internetten ulaşılamaz Gerekli: kamo-internal'in kendi sunucusu doğrudan içeri girer ************ Hangi referansları VOIPSERVICE URL'ye atla, halktan atla Ağ geçidi tamamen. Her iki tarafta hiçbir şey değişmez.
