FlawOpen

flawopen.com/Incidents/polyfill-io-supply-chain-incident-june-2024

● Polyfill.io service · CWE-829 · June 2024 · उच्च
सुरक्षा अनुसंधान · FlawOpen

Polyfill.io सप्लाई-चेन हमला (2024)

2024 की घटना: polyfill.io ने कुछ आगंतुकों को रीडायरेक्ट किया। CDN संदर्भ हटाएँ; कोई CVE जारी नहीं हुई।

💡 आसान भाषा में (ELI5)

मान लें कि एक रेस्तराँ हर मेज़ पर बाहरी आपूर्तिकर्ता की बोतल रखता है। आपूर्तिकर्ता सामग्री बदल दे तो रेस्तराँ का मेनू बदले बिना भी ग्राहकों पर असर पड़ सकता है।

इस पेज के मुख्य शब्द

Dynamic User-Agent Polyfilling
क्लाइंट ब्राउज़र के हेडर के हिसाब से अलग-अलग JavaScript बंडल देना, जिससे Subresource Integrity (SRI) हैश इस्तेमाल करना असंभव हो जाता है।
Conditional Payload Evasion
HTTP Referer, स्क्रीन आकार, user-agent और devtools की मौजूदगी देखकर डेवलपरों को साफ़ स्क्रिप्ट देना, जबकि असली मोबाइल उपभोक्ताओं पर हमला करना।
Domain Ownership Transfer Risk
ऐसे डोमेन से तीसरे पक्ष की स्क्रिप्ट जोड़ने का अंतर्निहित खतरा जिन्हें खरीदा जा सकता है, जिनकी अवधि खत्म हो सकती है या जिन्हें बिना सहमति सौंपा जा सकता है।
Subresource Integrity (SRI)
ब्राउज़र का क्रिप्टोग्राफ़िक तंत्र जो स्क्रिप्ट चलाने से पहले उसके हैश की जाँच करता है।

फ्रेमवर्क मैपिंग

  • इस गाइड में बताई गई कमजोरी के लिए CWE संदर्भ: CWE-829

घटना का समयक्रम (Timeline)

फरवरी 2024

Sansec ने डोमेन और GitHub खाते का स्वामित्व बदलने की सूचना दी; Fastly ने एहतियाती विकल्प दिया।

25 जून 2024

Sansec ने विश्लेषण प्रकाशित किया और अपने मापन के आधार पर 100,000 से अधिक साइटों के जोखिम का अनुमान दिया।

26–27 जून 2024

Cloudflare ने अपने मिरर पर स्वचालित री-राइट घोषित किए; बाद में डोमेन रोक दिया गया। अस्थायी री-राइट पर निर्भर रहने के बजाय पुराने संदर्भ हटाएँ।

हमले का चरण-दर-चरण प्रवाह

चरण 1

स्वामित्व में बदलाव

Sansec ने बताया कि फरवरी 2024 में डोमेन और GitHub खाते का स्वामित्व बदला। दुर्भावनापूर्ण प्रतिक्रियाओं की रिपोर्ट से पहले Fastly ने एहतियाती विकल्प दिया। Fastly ने बाद में कहा कि उसे हमले का पता Sansec की रिपोर्ट प्रकाशित होने पर चला था; फरवरी में दिया गया विकल्प एहतियाती कदम था, इससे यह साबित नहीं होता कि उसे तब दुर्भावनापूर्ण गतिविधि की जानकारी थी।

चरण 2

साइट CDN लोड करती है

cdn.polyfill.io का संदर्भ रखने वाला पृष्ठ ब्राउज़र से लौटे JavaScript को उसी पृष्ठ के संदर्भ में मँगवाता और चलवाता है।

चरण 3

शर्त-आधारित रीडायरेक्ट देखा गया

Sansec द्वारा जाँचा गया नमूना शर्तों के आधार पर कुछ मोबाइल आगंतुकों को रीडायरेक्ट करता था। यह नमूने का व्यवहार है, CDN की हर प्रतिक्रिया का नहीं।

चरण 4

निवारण और प्रतिक्रिया

Cloudflare ने अपने मिरर की ओर री-राइट लागू किए और Fastly ने अलग विकल्प दिया। Sansec ने कुछ ई-कॉमर्स साइटों के Google Ads अस्वीकृत होने की सूचना दी, सामान्य ऑर्गेनिक खोज दंड की नहीं।

सोर्स कोड: कमज़ोर बनाम सुरक्षित कार्यान्वयन

कमज़ोर कार्यान्वयन
<!-- VULNERABLE: Direct 3rd-party CDN script without integrity verification -->
<!DOCTYPE html>
<html>
<head>
  <title>Production Web App</title>
  <!-- Polyfill CDN serves arbitrary dynamic code controlled by third party -->
  <script src="https://cdn.polyfill.io/v3/polyfill.min.js?features=default,Array.prototype.flat"></script>
</head>
<body>
  <h1>Welcome</h1>
</body>
</html>
सुरक्षित और सुदृढ़ फ़िक्स
<!-- Build this file from a reviewed, version-pinned dependency. -->
<script defer src="/assets/vendor/polyfills.min.js"></script>

इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट

स्रोत