एक क्रॉस-मेलबॉक्स होल और छह और टीम दोष बंद करें

FixVOIPService
शिप
5 अगस्त 2026 को 7:24 am बजे UTC
लेखक
Kamo
Commit
c7cb180

6df0008 की Adversarial समीक्षा ने 24 निष्कर्षों की पुष्टि की। महत्वपूर्ण: CRITICAL — किसी भी सदस्य एक सहयोगी के मेल को हटा सकता है। टीम वॉयसमेल आईडी थे "{mailbox}{graphMessageId}" के रूप में बनाया गया है, और मार्क-रीड / डिलीट / लाता है विभाजित Caller-supplied id और अपने मेलबॉक्स आधा wordatim के रूप में /users/{mailbox} का इस्तेमाल किया org के अनुप्रयोग टोकन - जो किरायेदार में हर मेलबॉक्स तक पहुंच सकता है। The मेलबॉक्स+ संदेश आईडी जोड़े को GET / instances/{id}/voicemail द्वारा सौंपा गया था, इसलिए यह यह भी एक अनुमान लगाने वाला खेल नहीं था। मेलबॉक्स को अब केवल कॉलिंग से हल किया गया है सदस्य का स्वयं का Microsoft कनेक्शन है और किसी भी चीज़ से ग्राहक को निष्क्रिय नहीं किया जा सकता है। भेजता है; org-scoped काम (sync, स्वास्थ्य) कोई मेलबॉक्स को हल करता है और कोई पढ़ा नहीं जाता है। कि एप्लिकेशन टोकन पर प्रत्येक सहयोगी के मेलबॉक्स को चलने वाले उदाहरण सिंक भी बंद हो जाता है। आईडी से मेलबॉक्स को गिराने से मुक्त होने के लिए दो और पुष्टि दोषों को ठीक किया जाता है: ids एक VARCHAR(128) स्तंभ (कभी भी असफल रहा) के खिलाफ ~ 190-240 chars थे, और 'टू' ने टॉमकैट को स्प्रिंग रूटिंग से पहले 400 के साथ यूआरएल को अस्वीकार कर दिया, इसलिए मार्क-रीड, संग्रह और हटाएं कभी भी सर्वर पर नहीं पहुँचे। एक्सटेंशन ids '~' के लिए कदम यही कारण है, और टीम रूटिंग suffix (+1425...;ext=1234, 21 chars) अब है सिंक को विफल करने के बजाय EXTENSION NUMBER के VARCHAR(20) फिट करने के लिए छंटनी की। उच्च - कॉल इतिहास चुपचाप अधिकांश सदस्यों के लिए खाली था। getPstnCalls एक है प्रति उपयोगकर्ता फिल्टर के साथ किरायेदार चौड़ा फ़ीड, और कोड ने 2000 में इस पर कब्जा कर लिया पंक्तियाँ BEFORE फ़िल्टरिंग, इसलिए किसी भी किराये में ~ 2000 से अधिक PSTN कॉल 90 दिनों में टोपी अन्य लोगों की पंक्तियों द्वारा खपत की गई थी। अब फ़िल्टरिंग पेजिंग के दौरान होता है जब तक अनुरोध किया गया पृष्ठ पूरा हो जाता है तब तक रुक जाता है। उच्च - ग्राफ़ अधिसूचनाओं को प्रतिक्रिया धागे पर इनलाइन संसाधित किया गया: एन अनुक्रमिक ग्राफ राउंड-ट्रिप्स तीन-सेकेंड स्वीकृति बजट के खिलाफ। पिछला दस मिनट में 15% धीमी प्रतिक्रियाएं ग्राफ अंत बिंदु "ड्रॉप" और डिकार्ड को चिह्नित करता है दस मिनट के लिए अधिसूचनाएं। सत्यापन इनलाइन रहता है; काम एक के लिए कदम बाध्य कॉलर रन निष्पादक। उच्च - सदस्य-कनेक्ट राज्य ने एक सदस्य किया लेकिन कुछ भी इसे करने के लिए बाध्य नहीं हस्ताक्षर करने वाले व्यक्ति को पूरा करने के लिए, इसलिए कोई सदस्य अपने कनेक्ट यूआरएल को एक साथ सौंप सकता है सहयोगी और अपने ही पंक्ति पर सहयोगी टीम की पहचान के साथ समाप्त हो गया। आत्म अब कनेक्ट करने के लिए सदस्य के कामो ईमेल से मिलान करने के लिए Microsoft साइन-इन की आवश्यकता होती है; किसी की ओर से जोड़ने की अनुमति है और राज्य में दर्ज की गई है। हाय - MemberVoipConfigController ने पथ सदस्य पर भरोसा कियाId, जिसमें कोई ऑर्ग चेक नहीं है। GET या PUT, और कुछ भी upstream एक की आपूर्ति: प्रत्येक पर एक क्रॉस-टेनेंट IDOR सदस्य के वीओआईपी विन्यास, अब उनके एनट्रा ऑब्जेक्ट आईडी सहित। पूर्व मौजूदा, लेकिन यह क्या उस पेलोड में एक पहचान डाल दिया है। इसके अलावा: TeamsNeedsReconnectException ने उम्मीद के लिए 409 के बजाय 500 लौटाया " अभी तक जुड़े नहीं" राज्य; एसीएस समापन बिंदु अमान्य ऑपरेटर विन्यास था कि एक डेलिगेटेड कॉल टोकन को पोस्ट किया गया था (अब योजना- और होस्ट-पिन); समवर्ती सदस्यता upkeep 100-per-org के खिलाफ एक ग्राफ सदस्यता को अनाथ कर सकता है कोटा; और acsएंडपॉइंट को फिर से निष्क्रिय किया जाता है क्योंकि ऑपरेटर पूरे कनेक्शन को पेस्ट करते हैं इसमें तार। सत्यापित: mvn परीक्षण — 136 परीक्षण, 0 विफलताओं.

सभी बदलाव

जैसा कि आप शिपिंग देखते हैं?

इन अद्यतनों में से प्रत्येक स्वचालित रूप से अपने कार्यक्षेत्र में उतरता है। प्रारंभ करें और सप्ताह के बाद इसे सप्ताह के अंत में देखें।.

Foreverमूल्य निर्धारण देखें