| प्लगइन का नाम | Prisna GWT – गूगल वेबसाइट अनुवादक |
|---|---|
| कमजोरियों का प्रकार | क्रॉस-साइट स्क्रिप्टिंग (XSS) |
| CVE संख्या | CVE-2024-12680 |
| तात्कालिकता | कम |
| CVE प्रकाशन तिथि | 2026-01-30 |
| स्रोत URL | CVE-2024-12680 |
CVE-2024-12680: Prisna GWT – गूगल वेबसाइट अनुवादक (≤ 1.4.13) में प्रशासक संग्रहीत XSS — वर्डप्रेस साइट मालिकों को क्या जानना चाहिए
लेखक: हांगकांग सुरक्षा विशेषज्ञ · तारीख: 2026-01-30
TL;DR — एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता (CVE-2024-12680) Prisna GWT – गूगल वेबसाइट अनुवादक प्लगइन के 1.4.14 से पुराने संस्करणों को प्रभावित करती है। शोषण के लिए एक प्रमाणित प्रशासक की बातचीत की आवश्यकता होती है (उपयोगकर्ता इंटरैक्शन आवश्यक) लेकिन यह प्रशासक संदर्भ में स्क्रिप्ट निष्पादन का परिणाम कर सकता है। तुरंत 1.4.14 पर अपडेट करें, इंजेक्टेड स्क्रिप्ट के लिए डेटाबेस का ऑडिट करें, और WAF नियमों और प्रशासक खाता हार्डनिंग सहित अस्थायी शमन लागू करें।.
अवलोकन
30 जनवरी 2026 को वर्डप्रेस प्लगइन “Prisna GWT – गूगल वेबसाइट अनुवादक” (संस्करण < 1.4.14) में एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता प्रकाशित की गई और इसे CVE-2024-12680 सौंपा गया। भेद्यता को “Admin+ संग्रहीत XSS” के रूप में वर्गीकृत किया गया है — जिसका अर्थ है कि एक विशेषाधिकार प्राप्त खाता (प्रशासक) को लक्षित किया जा सकता है, और प्लगइन डेटा में सहेजा गया एक दुर्भावनापूर्ण पेलोड तब ब्राउज़र में निष्पादित होगा जब कुछ प्रशासक पृष्ठों या UI तत्वों को देखा या इंटरैक्ट किया जाएगा।.
हालांकि भेद्यता की मूल गंभीरता मध्यम है (CVSS 5.9), व्यावहारिक जोखिम आवश्यक विशेषाधिकार और उपयोगकर्ता इंटरैक्शन द्वारा सीमित है। हालांकि, संग्रहीत प्रशासक-पक्ष XSS पोस्ट-शोषण क्रियाओं को सक्षम कर सकता है जैसे:
- स्थिरता को सुविधाजनक बनाने के लिए प्रशासनिक जावास्क्रिप्ट का इंजेक्शन (जैसे, साइट विकल्पों को बदलना या बैकडोर पेश करना)
- प्रशासकों के कुकीज़ या प्रमाणीकरण टोकन चुराना (सत्र अधिग्रहण)
- अन्य दोषों के साथ श्रृंखला में आगे के स्वचालित हमलों या पार्श्व आंदोलन को ट्रिगर करना
- क्रेडेंशियल्स को फ़िश करने या दुर्भावनापूर्ण रीडायरेक्ट पेश करने के लिए दुर्भावनापूर्ण प्रशासक UI तत्वों का इंजेक्शन
यह गाइड समस्या, सुरक्षित पहचान कदम, शमन विकल्प, और हांगकांग के सुरक्षा प्रैक्टिशनर के दृष्टिकोण से पुनर्प्राप्ति मार्गदर्शन को समझाती है।.
“Admin Stored XSS” वास्तव में क्या है?
संग्रहीत XSS तब होती है जब उपयोगकर्ता द्वारा प्रदान किया गया डेटा सर्वर पर संग्रहीत होता है और बाद में उचित सफाई या एन्कोडिंग के बिना उपयोगकर्ताओं को प्रस्तुत किया जाता है। “Admin Stored XSS” मामले में:
- पेलोड प्लगइन विकल्पों, प्रशासक सेटिंग्स, या अन्य सर्वर-पक्ष भंडारण में एक हमलावर (या एक समझौता किए गए प्रशासक खाते) द्वारा संग्रहीत किया जाता है।.
- जब एक अन्य प्रशासक (या वही प्रशासक जो एक नियमित कार्य कर रहा है) एक प्लगइन प्रशासक पृष्ठ खोलता है, तो संग्रहीत स्क्रिप्ट उनके ब्राउज़र संदर्भ में निष्पादित होती है।.
- क्योंकि यह प्रशासक के ब्राउज़र के भीतर और उस उपयोगकर्ता के विशेषाधिकार के साथ निष्पादित होता है, यह किसी भी क्रिया को करने में सक्षम हो सकता है जो उपयोगकर्ता UI के माध्यम से कर सकता है — जिसमें सेटिंग्स बदलना, थीम/प्लगइन फ़ाइलों को संपादित करना, नए उपयोगकर्ता बनाना आदि शामिल हैं।.
इस रिपोर्ट में, प्लगइन प्रशासक इनपुट को स्वीकार करता है जिसे प्रशासक UI में आउटपुट किए जाने से पहले अपर्याप्त रूप से साफ़ या एस्केप किया गया था।.
दायरा और प्रभावित संस्करण
- प्रभावित प्लगइन: Prisna GWT – गूगल वेबसाइट अनुवादक
- प्रभावित संस्करण: 1.4.14 से पुराने कोई भी संस्करण (< 1.4.14)
- स्थिर किया गया: 1.4.14
- CVE: CVE‑2024‑12680
- आवश्यक विशेषाधिकार: व्यवस्थापक
- उपयोगकर्ता इंटरैक्शन: आवश्यक (व्यवस्थापक को एक तैयार पृष्ठ या लिंक देखना/क्लिक करना होगा)
- OWASP श्रेणी: A3 — इंजेक्शन (क्रॉस-साइट स्क्रिप्टिंग)
- पैच प्राथमिकता: कम (लेकिन इसे जल्द से जल्द लागू करना अभी भी अनुशंसित है)
आपको अभी भी क्यों परवाह करनी चाहिए (भले ही इसके लिए व्यवस्थापक पहुंच की आवश्यकता हो)
कई साइटों का समझौता व्यवस्थापक क्रेडेंशियल चोरी या सामाजिक इंजीनियरिंग से शुरू होता है। हमलावर फ़िशिंग, पुन: उपयोग किए गए पासवर्ड, या समझौता किए गए डेवलपर उपकरणों के माध्यम से व्यवस्थापक क्रेडेंशियल प्राप्त कर सकते हैं। व्यवस्थापक UI में संग्रहीत XSS आकर्षक है क्योंकि यह हमलावरों को अनुमति देता है:
- एकल समझौता किए गए व्यवस्थापक सत्र को कोड इंजेक्शन या कॉन्फ़िगरेशन परिवर्तनों के माध्यम से स्थायी नियंत्रण में बदलना
- व्यवस्थापक के ब्राउज़र को हेरफेर करके सर्वर-साइड सुरक्षा को दरकिनार करना (क्लाइंट-साइड स्थिरता)
- सामाजिक इंजीनियरिंग का उपयोग करके एक व्यवस्थापक को एक तैयार URL लोड करने या एक विशिष्ट सेटिंग पृष्ठ खोलने के लिए धोखा देना
इसलिए, विशेषाधिकार की आवश्यकता के बावजूद, डाउनस्ट्रीम प्रभाव गंभीर हो सकते हैं।.
उच्च-स्तरीय शोषण प्रवाह (गैर-कार्यात्मक)
नोट: कोई शोषण कोड या चरण-दर-चरण हथियार बनाने के निर्देश प्रदान नहीं किए गए हैं।.
- एक विशेषाधिकार प्राप्त उपयोगकर्ता को एक तैयार व्यवस्थापक URL पर जाने या एक दुर्भावनापूर्ण इनपुट फ़ॉर्म के साथ इंटरैक्ट करने के लिए धोखा दिया जाता है।.
- हमलावर प्लगइन सेटिंग्स या विकल्प फ़ील्ड का उपयोग करके JavaScript को शामिल करने वाले एक पेलोड को संग्रहीत करता है।.
- जब एक व्यवस्थापक संबंधित प्लगइन व्यवस्थापक पृष्ठ खोलता है, तो ब्राउज़र संग्रहीत स्क्रिप्ट को निष्पादित करता है।.
- स्क्रिप्ट व्यवस्थापक के प्रमाणित सत्र के संदर्भ में कार्य करती है — विकल्प बदलना, उपयोगकर्ता जोड़ना, टोकन निकालना, आदि।.
तात्कालिक सुधार कमजोर आउटपुट पथ को हटाना या पैच किए गए प्लगइन में अपडेट करना है।.
तत्काल कार्रवाई (अभी क्या करें)
यदि आप इस प्लगइन के साथ WordPress साइटें चलाते हैं, तो तुरंत ये कदम उठाएं:
- तुरंत अपडेट करें
- उत्पादन, स्टेजिंग और विकास वातावरण में प्लगइन को संस्करण 1.4.14 (या बाद में) के लिए जल्द से जल्द अपडेट करें।.
- यदि स्वचालित अपडेट सक्षम नहीं हैं, तो अपडेट का कार्यक्रम बनाएं और जहां संभव हो, अपडेट को केंद्रीकृत करें।.
- यदि आप तुरंत अपडेट नहीं कर सकते हैं, तो प्लगइन को निष्क्रिय करें
- प्लगइन को अस्थायी रूप से निष्क्रिय करें जब तक कि इसे अपडेट नहीं किया जा सकता। यह संवेदनशील प्रशासन UI आउटपुट को हटा देता है जहां संग्रहीत पेलोड निष्पादित हो सकते हैं।.
- प्रशासक खातों और सत्रों का ऑडिट करें
- सभी प्रशासनिक खातों के लिए पासवर्ड रीसेट करने के लिए मजबूर करें।.
- सभी सक्रिय सत्रों को अमान्य करें (जहां उपलब्ध हो, सत्र प्रबंधन उपकरण या WP‑CLI का उपयोग करें)।.
- सभी प्रशासकों के लिए दो-कारक प्रमाणीकरण (2FA) सक्षम करें।.
- इंजेक्टेड स्क्रिप्ट सामग्री के लिए स्कैन करें
- डेटाबेस में संदिग्ध स्ट्रिंग्स की खोज करें जो आमतौर पर XSS से संबंधित होती हैं: <script, onerror=, onload=, javascript:, document.cookie, innerHTML= और अन्य पैटर्न।.
- प्लगइन-विशिष्ट विकल्पों की जांच करें (wp_options पंक्तियाँ जिनमें option_name प्लगइन की कुंजियों से मेल खाती हैं), साथ ही पोस्ट_meta और term_meta क्षेत्र जो प्लगइन उपयोग कर सकता है।.
- उत्पादन डेटा में आकस्मिक परिवर्तनों से बचने के लिए एक स्टेजिंग कॉपी पर खोजें।.
- अस्थायी सुरक्षा बनाने के लिए एक वेब एप्लिकेशन फ़ायरवॉल (WAF) का उपयोग करें
- स्क्रिप्ट टैग या खतरनाक विशेषताओं वाले प्रशासन POST अनुरोधों को ब्लॉक करने के लिए WAF नियम जोड़ें।.
- Block requests with javascript: URIs or encoded script sequences (e.g. %3Cscript).
- संवेदनशील प्रशासन अंत बिंदुओं तक अनधिकृत या निम्न-विशेषाधिकार उपयोगकर्ताओं को पहुंचने से रोकें।.
- किसी भी पहचान की गई इंजेक्शन की समीक्षा करें और साफ करें
- यदि आप डेटाबेस में इंजेक्टेड स्क्रिप्ट पाते हैं, तो उन्हें सावधानी से हटा दें।.
- यदि आप सभी दुर्भावनापूर्ण प्रविष्टियों को आत्मविश्वास से हटा नहीं सकते हैं, तो एक साफ बैकअप से पुनर्स्थापित करने पर विचार करें।.
- सफाई के बाद विकल्पों में संग्रहीत API कुंजी और प्रमाणपत्रों को घुमाएं।.
पहचान: शोषण के संकेत कैसे खोजें
निम्नलिखित संकेतकों की तलाश करें:
- नए या संशोधित प्रशासक उपयोगकर्ता खाते जिन्हें आपने नहीं बनाया
- प्लगइन या थीम फ़ाइलों में अप्रत्याशित परिवर्तन
- साइट की wp_options तालिका में हाल के संशोधन जो अनुवादक प्लगइन से जुड़े हैं
- प्रशासनिक विकल्प फ़ील्ड के अंदर या इवेंट हैंडलर विशेषताएँ शामिल HTML
- साइट से असामान्य आउटबाउंड कनेक्शन
- अज्ञात आईपी पते या असामान्य समय से प्रशासनिक लॉगिन
जांच के लिए नमूना SQL क्वेरी (सुरक्षित वातावरण या स्टेजिंग कॉपी से चलाएँ):
SELECT option_id, option_name, option_value
SELECT meta_id, meta_key, meta_value
FROM wp_postmeta
WHERE meta_value LIKE '%
SELECT option_id, option_name FROM wp_options
WHERE option_value LIKE '%onerror=%' OR option_value LIKE '%onload=%' OR option_value LIKE '%javascript:%';
Always run searches on a database copy to avoid accidental changes in production.
Safe cleanup and recovery guidance
- Isolate first
- Put the site in maintenance mode and disable the vulnerable plugin until cleanup finishes.
- Backup
- Take a full backup of site files and the database, preserving the current state for forensic review.
- Remove injected content safely
- Replace or remove offending option values using carefully scoped UPDATE queries or WP‑CLI search‑replace.
- Avoid naïve regex replacements that can corrupt serialized PHP data — use serialization‑aware tools.
- Harden and restore
- Reinstall the plugin from a fresh copy downloaded from the official plugin repository after updating to the patched version.
- Reset admin passwords and API keys; enable 2FA and review user permissions.
- Monitor
- Monitor for anomalous behaviour for several weeks: new admin users, file changes, unexpected outbound traffic.
WAF recommendations (temporary virtual patches)
A Web Application Firewall can provide fast, temporary protection by filtering malicious payloads before they reach plugin code. Below are rule concepts — tune them to your environment and test in monitor mode first.
- Block POST bodies to admin endpoints containing suspicious tokens
Den y requests to /wp-admin/* or admin-post.php when the body contains <script, onerror=, onload=, javascript: or encoded variants like %3Cscript.
Conceptual regex (PCRE, case-insensitive):
(?i)(<\s*script\b|javascript:|onerror\s*=|onload\s*=|document\.cookie|innerHTML\s*=) - Sanitize output for known admin pages (advanced)
Configure the WAF to strip script tags and event handler attributes from HTML responses to /wp-admin/* pages where possible. Response modification can impact functionality — test carefully.
- Protect plugin-specific AJAX endpoints
Block POST/GET parameters that contain script tags or suspicious keywords for plugin-related AJAX actions.
- Rate limit sensitive admin actions
Apply stricter rate limits for actions that modify options, create users, or upload files. Require re-authentication for high-risk changes.
- IP allow/deny lists
Where feasible, restrict /wp-admin/ access to known IP ranges or require a VPN/gateway for admin access.
- Content Security Policy (CSP) for admin pages
A restrictive CSP can help prevent inline script execution even if malicious code is present. Example header for admin pages (test for compatibility):
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval'; object-src 'none'; frame-ancestors 'none';
Deploy WAF rules in monitor mode first to identify false positives, then enforce after tuning.
Example WAF rule templates (conceptual — tune & test)
These are conceptual rules you can implement in your WAF management console. They are expressed as logic rather than copy‑paste rules.
- Rule 1: Block suspicious script payloads in admin POSTs
When: Request URL matches /wp-admin/* OR /wp-admin/admin-ajax.php
And: Request body (POST) contains regex(?i)(<\s*script\b|javascript:|onerror\s*=|onload\s*=|document\.cookie|innerHTML\s*=)
Then: Block request, log event, notify administrator - Rule 2: Block suspicious query strings containing encoded scripts
When: Any request query string contains %3Cscript or javascript: (case-insensitive)
Then: Challenge (CAPTCHA) or block depending on risk tolerance - Rule 3: Limit changes to plugin options
When: POST to admin endpoint with parameter names known to belong to the translator plugin
And: Request size > threshold or contains suspicious patterns
Then: Require re-authentication or 2FA confirmation before applying changes - Rule 4: Response sanitization (optional / advanced)
When: Response to admin page contains script tags in plugin output
Then: Replace or remove <script> occurrences from response before returning to client (use with caution)
Response modification is powerful but potentially disruptive — test in staging.
Hardening best practices for administrators (prevention and mitigation)
- Least privilege: Only give Administrator role to accounts that absolutely need it.
- Dedicated admin accounts: Separate development and content accounts from administrative accounts.
- Enforce strong passwords and 2FA for every admin and delegated user.
- Limit plugin installations: Remove unused or unmaintained plugins.
- Centralized updates: Maintain a patch/update procedure and apply security fixes within defined SLAs.
- Monitoring: Implement file integrity monitoring and activity logs for admin actions.
- Backups: Maintain recent backups and test restore procedures regularly. Keep at least one offline backup not writable from the application.
Post‑incident forensic checklist
- Preserve logs and backups
- Export access logs, WAF logs, and server logs. Snapshot site and database for later review.
- Engage a security professional or incident response team
- Triage the extent of compromise and assess data exfiltration risk.
- Reinstall core and plugins
- Reinstall WordPress core, themes and plugins from trusted sources after verifying they are clean and up to date.
- Rotate secrets
- Rotate API keys, OAuth tokens, and third‑party credentials stored on the site.
- Notify stakeholders
- If user data or administrative control was impacted, follow incident response and legal reporting procedures.
Frequently asked questions
- Q: Can an attacker exploit this remotely without any access?
- A: No. This stored XSS variant requires an administrator's credentials to store the payload and an admin to interact with the crafted content. It is not an unauthenticated full‑site takeover vector by itself.
- Q: Can a non‑admin user exploit this?
- A: Not in the described context. The vulnerability involves admin‑side UI output and storage. However, privilege escalation or other chained vulnerabilities could change that assessment.
- Q: Will a WAF stop this for good?
- A: A WAF provides a critical layer of defence and can mitigate the attack vector quickly (virtual patching), but it is not a substitute for applying the official plugin update. Patch the plugin as the definitive fix.
- Q: Should I remove the plugin?
- A: If you do not need the translator plugin’s functionality, removing it permanently reduces attack surface. If you need it, update to the patched version immediately and apply the hardening steps above.
Final notes and immediate checklist
- Update Prisna GWT – Google Website Translator to version 1.4.14 (or uninstall if not needed).
- If you cannot update immediately — deactivate the plugin and apply temporary WAF rules to block suspicious admin input.
- Audit the database for stored scripts and sanitize any admin‑stored fields.
- Reset admin passwords and enable 2FA for all administrative accounts.
- Monitor logs and look for signs of post‑exploitation (new admin accounts, file changes, outbound anomalies).
- If needed, consult a qualified security professional for incident response and remediation.
Stay vigilant. From a Hong Kong security expert perspective: prompt patching, least‑privilege admin practices, and careful monitoring are the most practical controls to reduce risk from this vulnerability.
— Hong Kong Security Expert