- एक ही हमलावर ने 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-analytics module analytics.essentialplugin.com से जुड़कर wp-comments-posts.php file डाउनलोड करता था, और इसके जरिए 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.php file 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-analytics module खुद अभी भी मौजूद था
- खुद से backdoor module को पूरी तरह हटाने वाला patched version बनाया गया
- 22 client sites में से 12 पर Essential Plugin plugins मिले, जिनमें 10 को सीधे patch किया गया
- patched version में
wpos-analytics directory हटाई गई, 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_anl block हटाएं
Version: header में -patched जोड़कर फिर से zip बनाएं
wp plugin install your-plugin-patched.zip --force से install करें
- अगर
wp-config.php file 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.php file भी जरूर जांचनी चाहिए
अभी कोई टिप्पणी नहीं है.