- एक ही हमलावर ने 30 से अधिक WordPress plugins खरीदने के बाद, पहले commit में backdoor code insert करके supply chain को संक्रमित कर दिया
- malicious code लगभग 8 महीनों तक dormant रहा और फिर 2026 अप्रैल की शुरुआत में सक्रिय होकर कई साइटों में spam links और redirects inject करने लगा
- WordPress.org ने 7 अप्रैल 2026 को एक ही दिन में संबंधित 31 plugins को permanently बंद कर दिया और forced updates जारी किए
- हमलावर ने Flippa पर ‘Essential Plugin’ portfolio को 6-अंकीय रकम में acquire करने के बाद, Ethereum smart contract का इस्तेमाल करके C2 domain को छिपाया
- यह घटना 2017 के ‘Display Widgets’ मामले जैसी बड़े पैमाने की supply chain attack की पुनरावृत्ति है, जिसने WordPress plugin ecosystem में trust management की कमी को उजागर किया
WordPress plugin supply chain attack का मामला
- 30 से अधिक WordPress plugins को एक ही हमलावर ने acquire करने के बाद उनमें backdoor डाला गया
- हमलावर ने Flippa पर ‘Essential Plugin’ portfolio को 6-अंकीय रकम में खरीदा और पहले commit में malicious code जोड़ दिया
- backdoor 8 महीनों तक inactive रहा, फिर 2026 अप्रैल की शुरुआत में सक्रिय होकर बड़ी संख्या में साइटों को संक्रमित कर गया
- WordPress.org ने 7 अप्रैल 2026 को एक ही दिन में संबंधित 31 plugins को permanently बंद कर दिया
- इस घटना को 2017 के ‘Display Widgets’ मामले जैसी supply chain attack pattern की पुनरावृत्ति माना जा रहा है
हमले का पता चलना और शुरुआती प्रतिक्रिया
- एक client site के wp-admin security alert के जरिए पहली infection की पुष्टि हुई
- WordPress.org plugin team ने चेतावनी दी कि “Countdown Timer Ultimate” plugin में unauthorized access को सक्षम करने वाला code शामिल था
- WordPress.org ने forced update (v2.6.9.1) जारी किया, लेकिन तब तक कुछ साइटें पहले से compromise हो चुकी थीं
- security जांच में पता चला कि plugin का
wpos-analyticsmodule analytics.essentialplugin.com से जुड़करwp-comments-posts.phpfile डाउनलोड करता था, और इसके जरिए wp-config.php में बड़े पैमाने पर PHP code injection किया गया
malicious code कैसे काम करता था
- inject किया गया code C2 server से spam links, redirects, fake pages लाकर सिर्फ Googlebot को दिखाता था
- हमलावर Ethereum smart contract का इस्तेमाल करके C2 domain को dynamic तरीके से manage कर रहा था
- domain को blockchain RPC endpoint के जरिए resolve किया जाता था, इसलिए सामान्य domain blocking से इसे रोकना संभव नहीं था
- WordPress.org के forced update ने सिर्फ plugin की phone-home functionality को रोका, लेकिन wp-config.php में मौजूद malicious code वहीं का वहीं बना रहा
backup analysis से infection timing का पता लगाना
- CaptainCore के restic backups का उपयोग करके 8 अलग-अलग समय के
wp-config.phpfile sizes की तुलना की गई- 6 अप्रैल 2026 को 04:22~11:06 UTC के बीच file size 3,345 bytes से 9,540 bytes तक बढ़ गया
- इससे पुष्टि हुई कि infection इसी 6 घंटे 44 मिनट की अवधि में हुआ
backdoor कब डाला गया और code structure कैसा था
- plugin version 2.6.7 (8 अगस्त 2025) में 191 lines का नया code जोड़ते हुए backdoor insert किया गया
- changelog में इसे “WordPress 6.8.2 compatibility confirmed” के रूप में दर्ज किया गया था
- जोड़े गए code के मुख्य functions
fetch_ver_info()हमलावर के server से आए data को@unserialize()से process करता हैversion_info_clean()remote data से मिले function name को execute करता है- authentication के बिना callable REST API endpoint बनाया गया (
permission_callback: __return_true)
- यह structure arbitrary function execution (RCE) को संभव बनाता है, और 8 महीनों तक inactive रहने के बाद 5~6 अप्रैल 2026 को सक्रिय हुआ
plugin acquisition process
- मूल developer team भारत-आधारित WP Online Support थी, जो 2015 से plugins बना रही थी
- बाद में उसने Essential Plugin के रूप में rebrand किया और 30 से अधिक free और paid plugins चलाए
- 2024 के अंत में revenue 35~45% घटने पर पूरे business को Flippa पर sale के लिए सूचीबद्ध किया गया
- 2025 की शुरुआत में, ‘Kris’ नामक व्यक्ति ने इसे acquire किया, जिसकी background SEO, crypto और online gambling marketing में थी
- Flippa ने जुलाई 2025 में इस deal को success story के रूप में blog पर प्रकाशित किया
- acquisition के बाद पहले ही SVN commit (8 अगस्त 2025) में backdoor code जोड़ दिया गया
- 5~6 अप्रैल 2026 को
analytics.essentialplugin.comने सभी साइटों पर malicious payloads भेजना शुरू किया - 7 अप्रैल 2026 को WordPress.org ने Essential Plugin के सभी plugins (31) को permanently बंद कर दिया
बंद किए गए plugins की सूची
- Accordion and Accordion Slider, Countdown Timer Ultimate, Popup Anything on Click, WP Blog and Widgets, WP Team Showcase and Slider सहित 30 से अधिक plugins
- WordPress.org पर उस author को search करने पर कोई result नहीं आता
analytics.essentialplugin.comफिलहाल{"message":"closed"}response देता है
पहले की मिलती-जुलती घटना
- 2017 में, ‘Daley Tias’ नाम के व्यक्ति ने Display Widgets plugin (200,000 installs) को $15,000 में खरीदकर उसमें spam code insert किया था
- इसके बाद 9 से अधिक plugins को उसी तरीके से संक्रमित किया गया
- मौजूदा घटना उसी tactic को और बड़े पैमाने (30+ plugins) पर दोहराने का मामला मानी जा रही है
नुकसान की मरम्मत और patch work
- WordPress.org का forced update सिर्फ एक temporary measure था
wpos-analyticsmodule खुद अभी भी मौजूद था
- खुद से backdoor module को पूरी तरह हटाने वाला patched version बनाया गया
- 22 client sites में से 12 पर Essential Plugin plugins मिले, जिनमें 10 को सीधे patch किया गया
- patched version में
wpos-analyticsdirectory हटाई गई, loader function remove किया गया, और version name में-patchedजोड़ा गया
- उदाहरण: Countdown Timer Ultimate, Popup Anything on Click, WP Testimonial with Widget आदि
manual patch कैसे करें
wpos-analytics/directory delete करें- main plugin file से “Plugin Wpos Analytics Data Starts” या
wpos_analytics_anlblock हटाएं Version:header में-patchedजोड़कर फिर से zip बनाएंwp plugin install your-plugin-patched.zip --forceसे install करें- अगर
wp-config.phpfile size लगभग 6KB बढ़ गया है, तो इसे active infection state मानें और पूरा recovery process करें
WordPress plugin ecosystem में trust problem
- पिछले 2 हफ्तों में लगातार supply chain attacks हुए हैं
- trusted plugins को acquire करने के बाद उनमें malicious code डाला गया
- WordPress.org commit access बिना अतिरिक्त verification के सीधे inherited रहा
- WordPress.org में ownership change monitoring या code re-review process नहीं है
- नया committer जुड़ने पर user notification या automated review feature मौजूद नहीं है
- plugin team की response तेज थी, लेकिन backdoor डालने के बाद 8 महीनों तक इसका पता नहीं चला
- WordPress site operators को plugin list की जांच करनी चाहिए, Essential Plugin family के plugins को तुरंत हटाना या patch करना चाहिए, और
wp-config.phpfile भी जरूर जांचनी चाहिए
8 टिप्पणियां
दशकों से WordPress इस्तेमाल कर रहा हूँ.
मैं सिर्फ़ कम से कम plugins ही इस्तेमाल करता हूँ, लेकिन फिर भी हमेशा चिंता बनी रहती है.
फिर भी static की तुलना में यह अब भी ज़्यादा सुविधाजनक है, इसलिए मैं migrate नहीं करना चाहता!
आजकल supply chain attacks से जुड़ी खबरें बहुत आ रही हैं :(
बिलकुल ऐसा ही है। यह अचानक काफ़ी बढ़ गया था।
WordPress सच में... लगातार समस्याएँ आती रहती हैं। अगर आप इसे पहले से इस्तेमाल कर रहे हैं, तो संबंधित लेखों में EmDash जैसी चीज़ों को देखें।
मैंने तो इसे पहले ही छोड़ दिया और बस static page पर शिफ्ट हो गया।
मैंने EmDash इंस्टॉल करके देखा, लेकिन फिलहाल यह बहुत धीमा है। TTFB तो बेसिक तौर पर 3 सेकंड आ रहा है, तो लगता है क्या इसे सच में इस्तेमाल करने के लिए बनाया गया है।
अच्छा, ऐसा है। तो फिर मैं बस
staticसे ही संतुष्ट रहूँगा, हाहाऐसा लगता है कि AI के ज़रिए static page मैनेजमेंट, legacy code से ढके हुए CMS की जगह ले सकता है — इस तरह के विचार आने लगते हैं.
Hacker News की राय
Mythos को लेकर बढ़ा-चढ़ाकर की गई प्रतिक्रियाएँ हमेशा मज़ेदार लगती हैं
automated vulnerability detection तकनीक security industry को हिला सकती है, लेकिन असली चिंता की बात वह नहीं है
मौजूदा tech stack और corporate governance पहले से ही समय से पीछे हैं
अगर स्थिति को और बिगाड़ने वाले मुख्य कारण की बात करें, तो वह cryptocurrency है। इसने hacking को अरबों डॉलर के उद्योग में बदल दिया है और North Korea जैसे देशों को भी इसमें खींच लाया है
अब यह ऐसी हक़ीक़त है जहाँ सिर्फ dependencies खरीद लेना या कर्मचारियों को पैसे देकर “गलती” करवाना भी संभव है
हम लगभग bug-free software लिख सकते हैं, लेकिन इस माहौल में बड़ी कंपनियों को सुरक्षित रखने के लिए हमारे पास कोई plan नहीं है
autonomous LLM agents ransomware groups में इस्तेमाल होंगे, लेकिन FreeBSD exploit की ज़रूरत नहीं पड़ेगी
असल में हर हफ़्ते PrimeVue, Vue, Spring Boot, Oracle driver, Ansible, Nvidia driver आदि में bugs मिलते हैं
व्यावहारिक रूप से पूरी तरह flawless code शायद सिर्फ aircraft या spacecraft जैसी चीज़ों में ही संभव है
ज़्यादातर developers bug-free code नहीं लिखना नहीं चाहते, बल्कि पर्यावरणीय सीमाओं की वजह से यह अक्सर संभव नहीं होता
यह कोई theory नहीं बल्कि हक़ीक़त है। अगर funding nation-state स्तर की हो, तो insiders को खरीदना और भी आसान हो जाता है
OSS projects में बड़े corporate software की तुलना में “WTF bugs” कम होते हैं
अकेले development करने वाले माहौल में जो गलतियाँ सामान्य समझ से कोई नहीं करेगा, organizations में approval process या practices की वजह से वही ज्यों की त्यों deploy हो जाती हैं
“क्या यह सबसे अच्छा तरीका है?” यह सवाल नहीं पूछ पाने वाली असामान्य संस्कृति bugs को बढ़ाती है
छोटे teams में इसे बदलना आसान है, लेकिन बड़े organizations में इसकी लागत ज़्यादा होती है
web projects को देखें तो शुरुआत हमेशा “npm install” से होती है, और दर्जनों libraries अपने-आप install हो जाती हैं
कई बार author को भी नहीं पता होता कि कौन-कौन सी transitive dependencies शामिल हो गई हैं
ऐसी संरचना में supply chain attacks को verify करने की संभावना लगभग नहीं के बराबर है
हाल ही में मैंने सिर्फ Python standard library के सहारे weather sync tool लिखा
requestsजैसे external package के बिना भी काम चल गया, और dependency-free सुकून मिलाcryptography जैसी core logic को खुद implement नहीं करना चाहिए, लेकिन साधारण functionality तक के लिए library पर निर्भर होना भी ज़्यादा है
अगर versions pinned हों, तो package बिक जाने और उसमें backdoor डाले जाने पर भी, जब तक आप खुद update नहीं करते, असर नहीं पड़ता
बल्कि Dependabot का अपने-आप “patch version” PR भेज देना ज़्यादा डरावना लगता है क्योंकि वही जोखिम ला सकता है
sudo curl URL | bashजैसी हैमुझे लगता है कि software update ideology ही समस्या है
updates का फ़ायदा security patches है, लेकिन साथ ही वे developers पर उनकी इच्छा के ख़िलाफ़ बदलाव थोप सकते हैं या दुर्भावनापूर्ण भी बन सकते हैं
खासकर individual developers के WordPress extensions के लिए automatic updates कभी अनुमति नहीं देनी चाहिए—मेरा ऐसा मानना है
wordpress.org marketplace ऐसी संरचना को support नहीं करता, इसलिए जोखिम भरा है
मैंने पहले Chrome extension पर एक टिप्पणी लिखी थी, और Chrome को WordPress से बदल दें तो भी वही बात लागू होती है
WordPress plugins का supply chain attack surface बहुत पहले से जोखिमपूर्ण रहा है
वजह यह ecosystem structure है, जो individual developers द्वारा बनाए गए छोटे plugins बड़ी संख्या में install करवाता है
पहले से trust पा चुके plugins को acquire करके दुरुपयोग करना बहुत प्रभावी attack तरीका है
क्योंकि “update notification” खुद एक trust signal की तरह काम करता है, users को पता भी नहीं चलता कि author बदल गया है
package signing और transparency system की ज़रूरत है, लेकिन WordPress की security infrastructure सुधारने की रफ़्तार धीमी है
admin page की हालत ऐसी हो जाती थी जैसे IE6 toolbar meme
कई लोग free Securi या Wordfence install तो कर लेते थे, लेकिन configure भी नहीं करते थे और फिर भी पूरी security की उम्मीद रखते थे
साफ़ malware को तो block करता है, लेकिन third-party domains से ad widgets inject करने जैसे bait-and-switch को बर्दाश्त करता है
यह स्तर ऐसा है कि इसे लगभग इरादतन design कहना पड़ेगा
अफ़सोस है कि FAIR package manager project सफल नहीं हो पाया
fair.pm atproto से प्रेरित distributed structure है, जिसे कोई भी central repository के बिना चला सकता है
packages की पहचान DID से होती है, और Socket जैसी संस्थाएँ analysis result को “labeler” के रूप में जोड़ सकती हैं
users किसी खास label वाले packages को block कर सकते हैं, या AI-based security analysis labeler खुद भी चला सकते हैं
यह perfect नहीं है, लेकिन centralized package managers की तुलना में कहीं बेहतर approach है
अभी Typo3 community के साथ काम चल रहा है, और इसे दूसरे ecosystems तक बढ़ाया जा रहा है (लेखक FAIR के co-chair हैं)
WordPress की तुलना में इसका incentive structure बेहतर है, लेकिन शायद अभी भी काफ़ी नहीं हो
decentralization आज़ादी तो देता है, लेकिन user के नज़रिए से असुविधा भी काफ़ी बढ़ाता है
इस घटना की दिलचस्प बात यह है कि plugins को Flippa पर acquire किया गया था
Flippa सिर्फ WP के लिए नहीं, बल्कि सामान्य software buying/selling marketplace है
चिंता यह है कि नेक इरादे से खरीदे गए indie apps या extensions बाद में weaponize हो सकते हैं
ऐसे apps असली operator से ज़्यादा attackers के लिए मूल्यवान हो सकते हैं
सबसे डरावनी बात खुद backdoor नहीं, बल्कि यह है कि acquisition बहुत सामान्य दिखा
किसी trusted plugin को खरीदकर update push करना वैध maintenance से अलग पहचान में ही नहीं आता
users के पास शक करने के लिए कोई संकेत ही नहीं होता
market competition को सीमित करने वाले M&A को सरकारी मंज़ूरी तक मिलती है
तो क्या security पर गंभीर असर डालने वाले acquisitions के लिए भी marketplace या government approval process की ज़रूरत होनी चाहिए—यह सवाल उठता है
Mergers and acquisitions wiki page देखें
WordPress plugins की वजह से शानदार था, लेकिन अब उसी plugin structure की वजह से खतरनाक ecosystem बन गया है
मैं Hugo पर migrate कर चुका हूँ, और दूसरों को भी migration guide सुझाता हूँ
लगता है कंपनियों ने “IT outsourcing” करते समय यह ठीक से समझा ही नहीं कि वे कितना control खो रही हैं