
CVE-2026-47777 का विस्तृत तकनीकी विश्लेषण, Mastodon की Featured Collections फेडरेशन पाइपलाइन में एक उच्च-गंभीरता का प्राधिकरण बाईपास, जिसमें मूल कारण, PoC और पैच शामिल हैं।
मैंने एक उच्च गंभीरता प्राधिकरण बाईपास भेद्यता की जिम्मेदारी से खुलासा किया जो Mastodon के प्रयोगात्मक फ़ीचर्ड कलेक्शन संघीय पाइपलाइन को प्रभावित करती है।
CVE ID: CVE-2026-47777
ActivityPub::VerifyFeaturedItemService| स्कोर | वेक्टर |
|---|---|
| 7.5 (उच्च) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
फ़ीचर्ड कलेक्शन सत्यापन पाइपलाइन ने एक जाली FeatureAuthorization ऑब्जेक्ट को स्वीकार कर लिया, बिना यह सत्यापित किए कि प्राधिकरण वास्तव में फ़ीचर्ड खाते का था।
सत्यापन तर्क केवल यह सुनिश्चित करता था कि:
हालांकि, इसने यह सत्यापित नहीं किया कि क्या:
FeatureAuthorization.interactionTarget
उस खाते से मेल खाता है जिसे कलेक्शन में डाला जा रहा था।
परिणामस्वरूप, एक दुर्भावनापूर्ण संघीय Mastodon इंस्टेंस प्राधिकरण दस्तावेज़ों को जाली बना सकता था और झूठा संकेत दे सकता था कि मनमाने दूरस्थ उपयोगकर्ताओं ने क्यूरेटेड फ़ीचर्ड कलेक्शन में दिखाई देने के लिए सहमति दी थी।
इसके परिणामस्वरूप एक प्राधिकरण बाईपास हुआ जिसने संघीय अखंडता को प्रभावित किया।
यह भेद्यता अंदर एक लापता पहचान बाइंडिंग के कारण हुई थी:
ActivityPub::VerifyFeaturedItemService
सेवा तुलना करने में विफल रही:
CollectionItem.object_uri
के साथ
FeatureAuthorization.interactionTarget
क्योंकि यह सत्यापन गायब था, प्राधिकरण ऑब्जेक्ट्स को असंबंधित पीड़ित खातों के लिए पुनः उपयोग किया जा सकता था।
एक हमलावर यह कर सकता था:
FeatureAuthorization दस्तावेज़ जाली बनानाप्रभाव: संघीय अखंडता (केवल अखंडता)
गोपनीयता प्रभावित नहीं हुई।
लापता सत्यापन प्रभावी रूप से था:
return if @collection_item.object_uri != value_or_id(@authorization['interactionTarget'])
इस पहचान जांच के बिना, एक हमलावर-नियंत्रित डोमेन द्वारा उत्पन्न प्राधिकरण दस्तावेज़ असंबंधित उपयोगकर्ताओं के लिए स्वीकार किए जा सकते थे।
भेद्यता को कई दृष्टिकोणों का उपयोग करके स्वतंत्र रूप से सत्यापित किया गया था:
कस्टम Python सत्यापन हार्नेस ने Mastodon के पार्सर द्वारा स्वीकार किए गए प्रत्येक समर्थित JSON-LD @context भिन्नता का परीक्षण किया।
विश्लेषण ने पुष्टि की कि भेद्यता लापता प्राधिकरण बाइंडिंग से उत्पन्न हुई थी, न कि JSON-LD पार्सिंग से।
शोषण कार्यप्रवाह इस प्रकार है:
FeatureAuthorization ऑब्जेक्ट प्रकाशित किया जाता है।एक पीड़ित खाता ऐसा प्रतीत होता है जैसे उसने फ़ीचर होने के लिए सहमति दी हो, भले ही उसने कभी प्राधिकरण नहीं दिया हो।
समस्या को निम्नलिखित के बीच एक स्पष्ट पहचान सत्यापन शुरू करके हल किया गया:
CollectionItem.object_uri)FeatureAuthorization.interactionTarget)प्राधिकरण स्वीकार करने से पहले।
| दिनांक | घटना |
|---|---|
| 2026 | शोध पूरा हुआ |
| 2026 | जिम्मेदार प्रकटीकरण प्रस्तुत किया गया |
| 2026 | भेद्यता पुनरुत्पादित की गई |
| 2026 | CVE असाइन किया गया (CVE-2026-47777) |
| 2026 | पैच जारी किया गया (Mastodon 4.6.0-beta.1) |
Mastodon सुरक्षा टीम को विशेष धन्यवाद जिन्होंने रिपोर्ट की समीक्षा की, मुद्दे को मान्य किया, CVE-2026-47777 असाइन किया, और जिम्मेदार प्रकटीकरण के माध्यम से एक समन्वित सुरक्षा सुधार लागू किया।
सुरक्षा शोधकर्ता: Bekzod
जिम्मेदार प्रकटीकरण समन्वित भेद्यता प्रकटीकरण प्रथाओं के अनुसार आयोजित किया गया।