
XenForo 2.3.13 से पहले के संस्करणों में OAuth2 प्राधिकरण कोड पुन: उपयोग की कमजोरी को प्रदर्शित करने वाला प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो टोकन रीप्ले और कई टोकन फैमिली की अनुमति देता है।
XenForo 2.3.13 से पहले के संस्करण OAuth2 प्राधिकरण कोड को एक से अधिक बार भुनाने की अनुमति देते हैं।
प्राधिकरण-कोड ग्रांट एक कोड लोड करता है, उसकी समय-आधारित वैधता की जाँच करता है, और एक टोकन जोड़ी बनाता है। सफल पथ कोड को हटाता नहीं है, उसे उपभुक्त (consumed) चिह्नित नहीं करता है, या परमाणु एक-बार अद्यतन का उपयोग नहीं करता है। इसलिए उसी वैध एक्सचेंज को दोहराने से उसी उपयोगकर्ता और स्कोप के लिए एक स्वतंत्र एक्सेस/रिफ्रेश-टोकन परिवार बन जाता है।
एक हमलावर को अभी भी एक वैध प्राधिकरण कोड और उस ग्रांट के लिए आवश्यक क्लाइंट पैरामीटर की आवश्यकता होती है। यह समस्या यह नहीं बताती कि कोड कैसे प्राप्त किया जाता है; यह इच्छित क्लाइंट द्वारा पहले ही भुनाए जाने के बाद कोड को पुनः उपयोग योग्य बना देती है।
XenForo 2.3.12 (बिल्ड 2031270) पर, दो समान एक्सचेंजों ने अलग-अलग एक्सेस टोकन लौटाए और दोनों सफलतापूर्वक प्रमाणित हुए। XenForo 2.3.13 में यह सुधार शामिल है।
python poc.py https://xenforo.example CLIENT_ID AUTHORIZATION_CODE https://client.example/callback --code-verifier VERIFIER
स्क्रिप्ट उसी ग्रांट को दो बार सबमिट करती है, लौटाए गए टोकन को हैश करती है, और रिपोर्ट करती है कि क्या दोनों काम करते हैं। यह क्रेडेंशियल या खाता पहचान प्रिंट नहीं करता है। इसे केवल एक डिस्पोज़ेबल ग्रांट के साथ किसी अधिकृत परीक्षण इंस्टॉलेशन पर चलाएँ।
मार्को पैसिआरोनी (BomboBombone) द्वारा खोजा गया।