• 16 वर्षीय एक हाई स्कूल छात्र ने Mintlify प्लेटफ़ॉर्म की एक कमजोरी का उपयोग करके X, Vercel, Cursor, Discord जैसी प्रमुख कंपनियों की documentation sites पर cross-site scripting (XSS) हमला संभव होने की घटना को संकलित कर सार्वजनिक किया। इस कमजोरी के ज़रिए उसे bug bounty में 11,000 डॉलर मिले
  • Mintlify का आंतरिक पथ /_mintlify/static/[subdomain]/[...route] ऐसी संरचना में था जहाँ domain validation के बिना बाहरी फ़ाइलें लोड की जा सकती थीं
  • हमलावर SVG फ़ाइल में JavaScript इंजेक्ट करके Discord जैसे प्रमुख service domains पर malicious script चला सकता था
  • इस कमजोरी का असर Mintlify इस्तेमाल करने वाले लगभग सभी ग्राहकों पर पड़ा, और केवल एक लिंक क्लिक से account takeover संभव था
  • इस घटना को ऐसे उदाहरण के रूप में देखा गया जिसमें supply chain security की एकल कमजोरी बड़े पैमाने पर नुकसान का कारण बन सकती है

Discord में खोज

  • 2025 के नवंबर में Discord के AI-आधारित documentation platform Mintlify पर जाने के बाद कमजोरी की खोज शुरू हुई
    • मौजूदा custom platform से Mintlify पर migration के तुरंत बाद, शोधकर्ता ने नए documentation system की संरचना का विश्लेषण किया
  • Discord का documentation domain (discord.mintlify.app) Mintlify के आंतरिक पथ (/_mintlify/*) को जस का तस expose कर रहा था
    • authentication जैसी प्रमुख कार्यक्षमताओं के लिए इस पथ तक पहुँचना अनिवार्य था

Mintlify प्लेटफ़ॉर्म की संरचना

  • Mintlify एक ऐसी सेवा है जो Markdown-आधारित documentation writing को सपोर्ट करती है और उसे अपने-आप web documentation में बदल देती है
  • सभी documentation sites *.mintlify.app subdomain या custom domains पर चलती थीं
  • आंतरिक रूप से यह /_mintlify/api/user, /_mintlify/markdown/, /_mintlify/static/ जैसे endpoints का उपयोग करती थी

कमजोरी की खोज की प्रक्रिया

  • पाया गया कि /_mintlify/_markdown/_sites/[subdomain]/[...route] endpoint domain validation के बिना दूसरे documentation की फ़ाइलें लौटाता है
    • हालांकि, यह पथ केवल unrendered Markdown text लौटाता था, इसलिए code execution संभव नहीं था
  • इसके बाद Mintlify CLI package का विश्लेषण करके /_mintlify/static/[subdomain]/[...route] endpoint अतिरिक्त रूप से खोजा गया
    • यह पथ static files लौटाता था और file extension whitelist लागू करता था
    • HTML और JS फ़ाइलें ब्लॉक थीं, लेकिन SVG फ़ाइलें अनुमति प्राप्त थीं

हमले का क्रियान्वयन

  • हमलावर ने JavaScript डाली हुई SVG फ़ाइल अपनी Mintlify documentation में upload की
  • Discord domain पर उस फ़ाइल को कॉल करने पर (https://discord.com/_mintlify/_static/.../lmao.svg) script execute हो जाती थी
  • इसके ज़रिए केवल Discord ही नहीं, बल्कि Mintlify का उपयोग करने वाली हर कंपनी के documentation domain पर XSS चलाया जा सकता था

सहयोग और रिपोर्टिंग

  • शोधकर्ता ने अन्य security researchers के साथ मिलकर कमजोरी की पुष्टि की
  • रिपोर्ट मिलते ही Discord ने पूरे developer documentation को 2 घंटे के लिए disable किया, और बाद में पुराने platform पर वापस लौट गया
    • संबंधित कार्रवाई Discord Status page पर दर्ज है
  • Mintlify ने Discord के माध्यम से कमजोरी की जानकारी मिलने के बाद, engineering team और researchers के बीच एक Slack channel खोला और तुरंत सुधार कार्य शुरू किया

प्रभाव का दायरा

  • X(Twitter), Vercel, Cursor, Discord सहित Mintlify के अधिकांश ग्राहक प्रभावित दायरे में थे
  • हर कंपनी के आधिकारिक domain पर एक malicious link से account takeover की संभावना मौजूद थी
  • supply chain की एकल कमजोरी सैकड़ों कंपनियों की security में श्रृंखलाबद्ध जोखिम पैदा कर सकती है

इनाम और निष्कर्ष

  • शोध टीम को कुल मिलाकर लगभग 11,000 डॉलर का bug bounty मिला
    • Discord ने 4,000 डॉलर दिए, और Mintlify ने अलग-अलग कमजोरियों के लिए अतिरिक्त इनाम दिया
  • यह मामला supply chain security के महत्व और एकल platform कमजोरी के व्यापक प्रभाव को दिखाने वाला एक प्रतिनिधि उदाहरण बन गया

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.