- शिप
- 7 अगस्त 2026 को 5:11 am बजे UTC
- लेखक
- Kamo
- Commit
- b10c950
21670e5 ने UpstreamUri के FULLY-PRE-ENCODED प्रविष्टि के माध्यम से सोशलवेबहुक कंट्रोलर को रूट किया बिंदु, लेकिन इसका यूआरएल एक हाइब्रिड है: `token` एक @PathVariable है, इसलिए स्प्रिंग हाथों को हाथ देता है डिकोडेड मूल्य को संभालने वाला, जबकि getQueryString () कच्चा है। उस प्रविष्टि बिंदु एन्कोड कुछ भी नहीं, जो कच्चे आधे के लिए सही है और गलत है - दर्पण इस पूरे बदलाव सेट को डबल-एनकोड करने की छवि के बारे में है। POST/api/social/webhook/ab%252 सीसीडी स्ट्रिंग ab%2Ccd के रूप में आता है, आगे बढ़ाया गया था क्रियाकलाप, और मीडिया सर्विस ने इसे दूसरे समय ab,cd में डिकोड किया। इससे पहले 21670e5 राउंड-ट्रिप सही ढंग से, इसलिए यह एक प्रतिगमन था, नहीं एक पूर्व मौजूदा छेद। शून्य लाइव प्रभाव: टोकन 32 हेक्स चार हैं ************* और इसलिए एन्कोडिंग-inert, जो वास्तव में क्यों नहीं पकड़ा है। अनुबंध को उलट दिया गया था हालांकि, और इस मार्ग में जोड़े गए पहले गैर हेक्स खंड को भ्रष्ट किया जाएगा चुपचाप। हाइब्रिड प्रविष्टि बिंदु पर स्विच किया गया, जो एक बार पथ को एक बार के माध्यम से कोडित करता है। वही UriComponentsBuilder कॉल डिफ़ॉल्टUriBuilder Factory क्वेरी बनाता है और छोड़ देता है असंतुलित। मेटा / एक्स हैंडशेक व्यवहार अपरिवर्तित है - चार द्वारा सत्यापित मौजूदा परीक्षण, जो अभी भी बाइट-identical क्वेरी स्ट्रिंग्स पर जोर देते हैं। दो नए परीक्षण एक गैर हेक्स ab%252Ccd टोकन के साथ अनुबंध पिन करते हैं, जिसके साथ और बिना किसी क्वेरी दोनों वास्तव में ab%2Ccd के साथ पिछले प्रवेश बिंदु के खिलाफ विफल। इसके अलावा अपस्ट्रीमयूरी के जावाडोक में दो ओवरस्टेटमेंट को भी सही करता है: - यह दावा करता है कि हाइब्रिड फॉर्म एक डीकोडेड पथ चर truncating में एक `#` है खंड पर अनुरोध। यह नहीं है: **************** '#' बिल्कुल डिफ़ॉल्ट की तरह विभाजित करेंयूरीबिल्डर स्ट्रिंग के पीछे फैक्टरी अधिभार, इसलिए व्यवहार किसी भी तरह से बदल जाता है। अनचाहे सही कॉल है एक सार्वजनिक सतह पर, लेकिन यह एक सुधार नहीं है और इसे एक के रूप में नहीं पढ़ा जाना चाहिए। वास्तविक कारण प्रविष्टि अंक विभाजित हैं एन्कोड-once-vs-not-at-all इसके अलावा, जो अब जावाडोक कहते हैं। - एक खाली (नॉल) क्वेरी स्ट्रिंग जिसका उपयोग एक ट्रेलिंग `` बनाने के लिए किया जाता है और अब पैदावार करता है नहीं। RFC 3986 के तहत एक ही अनुरोध; एक टिप्पणी में उल्लेख किया गया ताकि इसके लिए गलती न हो बाद में एक नजर। केवल उन दो - कोई व्यवहार परिवर्तन के लिए मुकदमा और टिप्पणियां। सूट: 45 परीक्षण, 0 विफलताओं, 0 त्रुटियों।.