हांगकांग अलर्ट XSS इन ईज़ी SVG(CVE202512451)

क्रॉस साइट स्क्रिप्टिंग (XSS) इन वर्डप्रेस ईज़ी SVG सपोर्ट प्लगइन
प्लगइन का नाम आसान SVG समर्थन
कमजोरियों का प्रकार क्रॉस-साइट स्क्रिप्टिंग (XSS)
CVE संख्या CVE-2025-12451
तात्कालिकता कम
CVE प्रकाशन तिथि 2026-02-18
स्रोत URL CVE-2025-12451

तत्काल सुरक्षा सलाह: आसान SVG समर्थन (≤ 4.0) में SVG अपलोड के माध्यम से प्रमाणित (लेखक) संग्रहीत XSS

लेखक: हांगकांग सुरक्षा विशेषज्ञ

तारीख: 18 फरवरी 2026

प्रभावित प्लगइन: आसान SVG समर्थन (WordPress)

कमजोर संस्करण: ≤ 4.0

में ठीक किया गया: 4.1

CVE: CVE-2025-12451

गंभीरता (साइट प्रभाव): कम (CVSS ~5.9) — संदर्भ महत्वपूर्ण है


कार्यकारी सारांश

आसान SVG समर्थन संस्करण 4.0 तक अपलोड किए गए SVG फ़ाइलों को उचित रूप से मान्य और स्वच्छ करने में विफल रहता है। लेखक (या उच्चतर) विशेषाधिकार वाला एक प्रमाणित उपयोगकर्ता एम्बेडेड स्क्रिप्ट, इवेंट हैंडलर, या javascript: URI वाले तैयार किए गए SVG अपलोड कर सकता है। जब ऐसे SVG संग्रहीत होते हैं और बाद में उन संदर्भों में प्रस्तुत किए जाते हैं जो स्क्रिप्ट निष्पादन की अनुमति देते हैं, तो एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) स्थिति उत्पन्न हो सकती है। निश्चित समाधान के रूप में आसान SVG समर्थन 4.1 या बाद के संस्करण में अपडेट करें। यदि तत्काल अपडेट संभव नहीं है, तो इस सलाह में उपाय लागू करें।.

क्या हुआ?

प्लगइन ने पर्याप्त सर्वर-साइड स्वच्छता के बिना SVG फ़ाइलों को स्वीकार और संग्रहीत किया। मीडिया अपलोड करने की क्षमता वाले एक प्रमाणित उपयोगकर्ता SVG में निष्पादन योग्य संरचनाएँ एम्बेड कर सकता है। जब एक व्यवस्थापक या अन्य विशेषाधिकार प्राप्त उपयोगकर्ता उस पृष्ठ या मीडिया आइटम को देखता है जहाँ SVG इनलाइन प्रस्तुत किया गया है, तो एम्बेडेड स्क्रिप्ट उस उपयोगकर्ता के ब्राउज़र में निष्पादित हो सकती है, संभावित रूप से उनके सत्र के संदर्भ में क्रियाएँ कर सकती है।.

  • हमले का वेक्टर: तैयार किए गए SVG फ़ाइल का प्रमाणित अपलोड।.
  • आवश्यक विशेषाधिकार: लेखक (लेखक डिफ़ॉल्ट रूप से कई WordPress साइटों पर मीडिया अपलोड कर सकते हैं)।.
  • शोषण प्रकार: अन्य उपयोगकर्ताओं (व्यवस्थापकों सहित) को वितरित साइट सामग्री में संग्रहीत XSS।.
  • में ठीक किया गया: आसान SVG समर्थन 4.1।.
  • पहचान संकेत: तत्व, “on” (onload, onclick) से शुरू होने वाले गुण, या javascript: URI वाले SVG अटैचमेंट।.

यदि स्वच्छ नहीं किया गया तो SVG क्यों खतरनाक है

SVG XML-आधारित है और स्क्रिप्टिंग, इवेंट गुण, बाहरी संदर्भ, और foreignObject के माध्यम से एम्बेडेड HTML का समर्थन करता है। यदि कोई एप्लिकेशन SVG को असुरक्षित संरचनाओं को हटाए बिना संग्रहीत और सेवा करता है, तो ब्राउज़र SVG के अंदर स्क्रिप्ट निष्पादित कर सकते हैं कि यह कैसे एम्बेड किया गया है। सामान्य कार्यान्वयन गलतियों में केवल एक्सटेंशन या क्लाइंट-साइड जांच पर निर्भर रहना, स्क्रिप्ट तत्वों या इवेंट गुणों को हटाने में विफल रहना, और बिना उपाय (CSP, स्वच्छता, या रास्टराइजेशन) के SVG को इनलाइन सेवा करना शामिल है।.

साइट प्रशासकों के लिए तात्कालिक कार्रवाई (चरण-दर-चरण)

प्राथमिकता के क्रम में इन चरणों का पालन करें:

  1. प्लगइन को अपडेट करें।. Easy SVG समर्थन को 4.1 या बाद के संस्करण में जल्द से जल्द अपग्रेड करें। यह अंतिम उपाय है।.
  2. यदि आप तुरंत अपडेट नहीं कर सकते - शमन लागू करें:
    • SVG अपलोड को अस्थायी रूप से अक्षम करें।.
    • अपलोड क्षमता को केवल प्रशासकों तक सीमित करें।.
    • , इवेंट विशेषताओं, या javascript: URIs (WAF या सर्वर फ़िल्टर के माध्यम से आभासी पैचिंग) वाले SVG अपलोड को ब्लॉक करने के लिए सर्वर-साइड नियम लागू करें।.
  3. मौजूदा दुर्भावनापूर्ण SVGs के लिए स्कैन करें:
    • मीडिया लाइब्रेरी में .svg फ़ाइलों की खोज करें और सामग्री की जांच करें।.
    • SVG सामग्री या स्क्रिप्ट टैग वाले अटैचमेंट और पोस्ट को खोजने के लिए WP‑CLI या सीधे SQL क्वेरी का उपयोग करें।.
    • संदिग्ध SVGs को हटा दें, क्वारंटाइन करें, या साफ करें।.
  4. यदि समझौता होने का संदेह है तो उच्च-विशेषाधिकार क्रेडेंशियल्स को बदलें:
    • प्रशासक पासवर्ड बदलें और पुराने सत्रों को रद्द करें।.

त्वरित प्लेबुक - SVG अपलोड को अक्षम करें

यदि आपको तुरंत SVG अपलोड को ब्लॉक करने की आवश्यकता है, तो इनमें से किसी एक उदाहरण के साथ एक साइट-विशिष्ट प्लगइन या एक mu-plugin जोड़ें। लाइव साइट पर थीम functions.php को संपादित करना जोखिम भरा हो सकता है; एक अलग प्लगइन को प्राथमिकता दें।.

<?php

लेखक भूमिका से अपलोड क्षमता को हटाने के लिए (कार्यप्रवाह पर प्रभाव का मूल्यांकन करें):

<?php

चेतावनी: अपलोड क्षमता को हटाना वैध सामग्री कार्यप्रवाह को प्रभावित करता है। सामग्री टीमों के साथ परिवर्तन संप्रेषित करें और योजना बनाएं।.

संदिग्ध SVGs और संग्रहीत XSS की खोज कैसे करें

इन पहचान चरणों का उपयोग करें; DB क्वेरी चलाते समय हमेशा बैकअप या स्टेजिंग कॉपी पर काम करें।.

WP‑CLI

wp db query "SELECT ID, post_title, guid FROM wp_posts WHERE post_type = 'attachment' AND guid LIKE '%.svg%';"

SQL

SELECT ID, post_title FROM wp_posts;

मैनुअल निरीक्षण

प्रत्येक SVG के लिए, इसे एक टेक्स्ट संपादक में खोलें और देखें:

  • टैग
  • on* इवेंट विशेषताएँ (onload, onclick)
  • javascript: URI
  • foreignObject ब्लॉक्स जो HTML शामिल करते हैं

सर्वर-साइड अपलोड सत्यापन और सफाई (डेवलपर्स के लिए)

सर्वर-साइड सत्यापन अनिवार्य है। केवल फ़ाइल एक्सटेंशन या क्लाइंट-साइड जांच पर भरोसा न करें।.

finfo का उपयोग करके MIME प्रकार को मान्य करें:

$finfo = new finfo(FILEINFO_MIME_TYPE);

XML को पार्स करके और असुरक्षित संरचनाओं को हटाकर SVG को साफ करें: हटाएँ, “on” से शुरू होने वाले विशेषताओं को स्ट्रिप करें, javascript: URI हटाएँ, और बाहरी स्क्रिप्ट संदर्भों को स्ट्रिप करें। अनियोजित कोड के बजाय अच्छी तरह से बनाए रखे गए सफाई पुस्तकालयों को प्राथमिकता दें।.

function sanitize_svg_string( $svg_string ) {
    // Use DOMDocument or an XML parser to parse and remove dangerous elements/attributes
    $dom = new DOMDocument();
    libxml_use_internal_errors(true);
    $dom->loadXML( $svg_string, LIBXML_NOENT | LIBXML_DTDLOAD | LIBXML_NOERROR | LIBXML_NOWARNING );

    // Remove all <script> elements
    while ( $script = $dom->getElementsByTagName('script')->item(0) ) {
        $script->parentNode->removeChild( $script );
    }

    // Remove any attributes that start with "on" (onload, onclick, etc.)
    $xpath = new DOMXPath($dom);
    foreach ( $xpath->query('//@*') as $attr ) {
        if ( preg_match('/^on/i', $attr->nodeName) ) {
            $attr->ownerElement->removeAttributeNode( $attr );
        }
        // Remove javascript: URIs
        if ( stripos( $attr->nodeValue, 'javascript:' ) !== false ) {
            $attr->ownerElement->removeAttributeNode( $attr );
        }
    }

    return $dom->saveXML();
}

चेतावनी: अपना खुद का सफाई उपकरण बनाना जोखिम उठाता है (XML एंटिटी विस्तार, XXE)। जहां संभव हो, एक परीक्षण किया हुआ पुस्तकालय का उपयोग करें।.

सर्वर फ़िल्टरिंग / WAF नियम (सैद्धांतिक)

सर्वर-साइड नियम वर्चुअल पैचिंग प्रदान कर सकते हैं जबकि आप साइटों को अपडेट और साफ करते हैं। उदाहरण पहचान अवधारणाएँ:

  • यदि फ़ाइल में <script या on[a-z]+= विशेषताएँ हैं तो Content-Type image/svg+xml के साथ अपलोड को ब्लॉक करें।.
  • <svg … पैटर्न का पता लगाएँ: /<svg[\s\S]*?/i
  • इवेंट हैंडलर विशेषताओं का पता लगाएँ: /(?i)\bon[a-z]+\s*=/
  • javascript: URI का पता लगाएँ: /(?i)javascript\s*:/

एक स्तरित दृष्टिकोण लागू करें: उच्च-विश्वास मेल को ब्लॉक करें और मैनुअल समीक्षा के लिए निम्न-विश्वास हिट को लॉग करें। वैध वेक्टर उपयोग को बाधित करने वाले अत्यधिक व्यापक ब्लॉकिंग से बचें।.

हार्डनिंग सिफारिशें (संक्षिप्त, मध्यम, दीर्घकालिक)

संक्षिप्त अवधि (दिन)

  • यदि संभव हो तो तुरंत प्लगइन को 4.1 में अपडेट करें।.
  • अस्थायी रूप से SVG अपलोड को निष्क्रिय करें या उन्हें प्रशासकों तक सीमित करें।.
  • स्क्रिप्ट/इवेंट्स वाले SVGs को ब्लॉक करने के लिए सर्वर फ़िल्टरिंग नियम लागू करें।.
  • मीडिया लाइब्रेरी को स्कैन करें और संदिग्ध फ़ाइलों को क्वारंटाइन करें।.

मध्यम अवधि (सप्ताह)

  • स्वीकृत SVGs के लिए सर्वर-साइड स्वच्छता लागू करें।.
  • अपलोड निर्देशिकाओं में निष्पादन अनुमतियों को हटा दें और अपलोड की गई फ़ाइलों के निष्पादन की अनुमति न दें।.
  • इनलाइन स्क्रिप्ट निष्पादन जोखिम को कम करने के लिए सामग्री-सुरक्षा-नीति हेडर लागू करें (गंभीरता से परीक्षण करें)।.

दीर्घकालिक (महीने)

  • अविश्वसनीय योगदानकर्ताओं से वेक्टर ग्राफिक्स के लिए एक अनुमोदन कार्यप्रवाह लागू करें।.
  • जहां वेक्टर आवश्यक नहीं है, SVGs को PNG/JPEG में रास्टराइज करने पर विचार करें।.
  • भूमिका द्वारा अपलोड विशेषाधिकार सीमित करें और न्यूनतम विशेषाधिकार लागू करें।.

घटना प्रतिक्रिया - यदि आप दुर्भावनापूर्ण अपलोड पाते हैं या समझौते का संदेह करते हैं

  1. तात्कालिक नियंत्रण:
    • मीडिया लाइब्रेरी से दुर्भावनापूर्ण फ़ाइलों को हटा दें या बदलें।.
    • कमजोर प्लगइन को अपडेट करें या निष्क्रिय करें।.
    • यदि सत्र अपहरण का संदेह है तो प्रशासक सत्रों को रद्द करें और क्रेडेंशियल्स को घुमाएं।.
    • यदि आवश्यक हो तो ट्रायेज के लिए साइट को रखरखाव मोड में ले जाने पर विचार करें।.
  2. फोरेंसिक्स:
    • अपलोड समय विंडो को कवर करने वाले सर्वर लॉग्स को निर्यात करें (POSTs to /wp-admin/async-upload.php)।.
    • अपलोडर उपयोगकर्ता नाम, आईपी, और टाइमस्टैम्प की पहचान करें।.
    • अपलोड के समय के आसपास अप्रत्याशित प्रशासक क्रियाओं की तलाश करें।.
    • अतिरिक्त वेबशेल्स या संशोधित फ़ाइलों के लिए खोजें।.
  3. सुधार:
    • दुर्भावनापूर्ण SVGs को हटाएं और प्रभावित सामग्री को साफ करें।.
    • प्लगइन को ठीक किए गए संस्करण में अपडेट करें।.
    • प्रभावित खातों के लिए पासवर्ड बदलें और API कुंजियों को घुमाएं।.
    • बैकडोर को साफ करें और अज्ञात व्यवस्थापक खातों को हटाएं।.
  4. घटना के बाद की हार्डनिंग:
    • अपलोड के लिए स्कैनिंग और निगरानी लागू करें।.
    • सर्वर-साइड सफाई और अपलोड के लिए बेहतर कार्यप्रवाह लागू करें।.

पहचान नियम और निगरानी विचार

सुझाए गए स्वचालित जांच:

  • टैग, “on” से शुरू होने वाले गुण, और javascript: URI के लिए नए अपलोड को स्कैन करने के लिए अनुसूचित कार्य।.
  • जब कोई गैर-व्यवस्थापक भूमिका SVG अपलोड करती है तो अलर्ट करें।.
  • असामान्य XHRs या अप्रत्याशित POSTs के लिए व्यवस्थापक डैशबोर्ड की निगरानी करें।.
  • संदिग्ध फ़ाइल नाम या सामग्री के साथ अपलोड को लॉग करें और समीक्षा करें।.
// आवधिक स्कैन उदाहरण (छद्म-कोड)

प्लगइन लेखकों और रखरखावकर्ताओं के लिए मार्गदर्शन

  1. SVG अपलोड को सक्षम करने से बचें जब तक कि आप उन्हें सही तरीके से साफ नहीं कर सकते। यदि वेक्टर सुविधाएँ अनावश्यक हैं, तो अपलोड पर रास्टर छवियों में परिवर्तित करें।.
  2. सर्वर-साइड पर सख्त MIME पहचान और सामग्री स्कैनिंग करें (finfo या समान)।.
  3. एक बनाए रखा SVG सफाई पुस्तकालय का उपयोग करें। दुर्भावनापूर्ण पेलोड और किनारे के मामलों के साथ परीक्षण करें।.
  4. अपलोड विशेषाधिकार को विश्वसनीय भूमिकाओं तक सीमित करें और अपनी सुरक्षा दृष्टिकोण का दस्तावेजीकरण करें।.
  5. जहां संभव हो, इनलाइन स्क्रिप्ट जोखिम को कम करने के लिए CSP हेडर का उपयोग करें।.

जोखिम मूल्यांकन - यह आपकी साइट पर कितना बुरा है?

संग्रहीत XSS का व्यावहारिक प्रभाव उपयोगकर्ता भूमिकाओं और देखने के पैटर्न पर निर्भर करता है। यदि केवल अप्रिविलेज्ड आगंतुकों ने समझौता किए गए SVGs को देखा, तो प्रभाव विकृति या क्लाइंट-साइड हमले हो सकता है। यदि प्रशासक सामग्री को देखते हैं, तो एक हमलावर प्रशासन सत्र में क्रियाएँ कर सकता है, जिससे गंभीरता बढ़ जाती है। यदि अपलोड अधिकार व्यापक रूप से दिए गए हैं या प्रशासक नियमित रूप से उपयोगकर्ता-प्रस्तुत मीडिया की समीक्षा करते हैं, तो इस मुद्दे को तुरंत हल करें।.

वास्तविक दुनिया में रोकथाम के उदाहरण

  • अपलोड किए गए SVGs को स्वच्छ संस्करणों से बदलें और मूल को अनुमोदित होने तक संगरोध में रखें।.
  • अपलोड समय पर SVGs को रास्टराइज़ करें और सार्वजनिक रूप से रास्टर छवियाँ प्रदान करें; केवल तब SVGs रखें जब वे विश्वसनीय हों।.
  • एक अपलोड कार्यप्रवाह लागू करें: अपलोड → स्वचालित स्कैन/स्वच्छता → एम्बेडिंग के लिए प्रशासक अनुमोदन।.

अंतिम चेकलिस्ट - अब क्या करें

  1. तुरंत Easy SVG Support को 4.1 में अपडेट करें।.
  2. यदि आप तुरंत अपडेट नहीं कर सकते:
    • SVG अपलोड को निष्क्रिय करें या उन्हें प्रशासकों तक सीमित करें।.
    • स्क्रिप्ट या इवेंट विशेषताओं वाले SVGs का पता लगाने और अवरुद्ध करने के लिए सर्वर फ़िल्टरिंग/WAF नियम लागू करें।.
  3. अपने मीडिया पुस्तकालय और पोस्ट को SVGs में टुकड़ों, पर… विशेषताओं, और javascript: URIs के लिए स्कैन करें।.
  4. यदि आप संदिग्ध सामग्री पाते हैं: दुर्भावनापूर्ण फ़ाइलों को हटा दें/संगरोध करें, क्रेडेंशियल्स को घुमाएँ, सत्रों को रद्द करें, और समझौते के अन्य संकेतों के लिए स्कैन करें।.
  5. दीर्घकालिक सुरक्षा उपाय लागू करें: सर्वर-साइड स्वच्छता, CSP, भूमिका सख्ती, और अपलोड अनुमोदन कार्यप्रवाह।.

समापन नोट्स

फ़ाइल अपलोड के माध्यम से संग्रहीत XSS पुनरावृत्ति करता है क्योंकि SVG जैसे प्रारूप डेटा और निष्पादन योग्य संरचनाओं को मिलाते हैं। किसी भी प्लगइन को सावधानी से संभालें जो SVG अपलोड को सक्षम करता है: सर्वर पर स्वच्छता करें, यह सीमित करें कि कौन अपलोड कर सकता है, और अपलोड की गई सामग्री की निगरानी करें। पैच जारी किए जाते हैं, लेकिन हमलावर तेजी से कार्य करते हैं जब खुलासे होते हैं - आभासी पैचिंग और स्कैनिंग समय खरीदती है जबकि आप प्रभावित साइटों को अपडेट और साफ करते हैं।.

यदि आपको विशेषज्ञ सहायता की आवश्यकता है, तो तिरछा और सुधार में मदद करने के लिए एक योग्य सुरक्षा सलाहकार या घटना प्रतिक्रिया टीम को संलग्न करें।.

सतर्क रहें,

हांगकांग सुरक्षा विशेषज्ञ

0 शेयर:
आपको यह भी पसंद आ सकता है

लेज़ी लोड वीडियो प्लगइन में स्टोर किया गया XSS (CVE20257732)

वर्डप्रेस लेज़ी लोड फॉर वीडियो प्लगइन <= 2.18.7 - प्रमाणित (योगदानकर्ता+) डेटा-वीडियो-शीर्षक और href विशेषताओं के माध्यम से संग्रहीत क्रॉस-साइट स्क्रिप्टिंग की कमजोरी