
CVE-2026-1357 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो WordPress के लिए WPvivid Backup & Migration प्लगइन में एक अनप्रमाणित (unauthenticated) मनमाना फ़ाइल अपलोड है, जो रिमोट कोड निष्पादन (remote code execution) को सक्षम बनाता है।
WordPress के लिए Migration, Backup, Staging – WPvivid Backup & Migration प्लगइन, संस्करण 0.9.123 तक (इसे शामिल करते हुए) अनधिकृत आर्बिट्रेरी फ़ाइल अपलोड के प्रति संवेदनशील है। यह RSA डिक्रिप्शन प्रक्रिया में अनुचित त्रुटि हैंडलिंग के साथ-साथ अपलोड की गई फ़ाइलों को लिखते समय पाथ सैनिटाइज़ेशन की कमी के कारण होता है। जब प्लगइन openssl_private_decrypt() का उपयोग करके सेशन की को डिक्रिप्ट करने में विफल रहता है, तो यह निष्पादन समाप्त नहीं करता है और इसके बजाय boolean false मान को phpseclib लाइब्रेरी के AES सिफर इनिशियलाइज़ेशन में पास कर देता है। लाइब्रेरी इस false मान को null बाइट्स की एक स्ट्रिंग के रूप में मानती है, जिससे एक हमलावर एक पूर्वानुमानित null-बाइट की का उपयोग करके एक दुर्भावनापूर्ण पेलोड को एन्क्रिप्ट कर सकता है। इसके अतिरिक्त, प्लगइन डिक्रिप्ट किए गए पेलोड से फ़ाइलनाम बिना सैनिटाइज़ेशन के स्वीकार करता है, जिससे संरक्षित बैकअप निर्देशिका से बाहर निकलने के लिए डायरेक्टरी ट्रैवर्सल संभव हो जाता है। यह अनधिकृत हमलावरों के लिए सार्वजनिक रूप से सुलभ निर्देशिकाओं में मनमानी PHP फ़ाइलें अपलोड करना और wpvivid_action=send_to_site पैरामीटर के माध्यम से रिमोट कोड एक्ज़ीक्यूशन प्राप्त करना संभव बनाता है।
https://nvd.nist.gov/vuln/detail/CVE-2026-1357
अपने प्रोजेक्ट फ़ोल्डर को निम्नानुसार व्यवस्थित करें:
.
├── docker-compose.yml
├── exploit.py
├── requirements.txt
├── vulnerable-plugin-folder/ # प्लगइन के लिए स्टेजिंग क्षेत्र
└── wp-content/ # स्थायी WP डेटा (Docker द्वारा निर्मित)
चूंकि बाद के संस्करणों में इस कमजोरी को पैच किया गया था, आपको संस्करण 0.9.123 को मैन्युअल रूप से डाउनलोड और स्टेज करना होगा। अपने प्रोजेक्ट रूट से ये कमांड चलाएँ:
# संवेदनशील संस्करण डाउनलोड करें
wget https://downloads.wordpress.org/plugin/wpvivid-backuprestore.0.9.123.zip
# स्टेजिंग निर्देशिका बनाएँ
mkdir vulnerable-plugin-folder
# निकालें और फ़ाइलों को स्थान पर ले जाएँ
unzip wpvivid-backuprestore.0.9.123.zip
mv wpvivid-backuprestore/* vulnerable-plugin-folder/
rm -rf wpvivid-backuprestore wpvivid-backuprestore.0.9.123.zip
docker-compose up -d
http://localhost:8080 पर जाएँ और इंस्टॉलेशन पूरा करें।/wp-admin) में लॉगिन करें।pip install -r requirements.txt
अपने लैब लक्ष्य के विरुद्ध स्क्रिप्ट निष्पादित करें:
python3 exploit.py localhost:8080 --command "id"
सफल होने पर, स्क्रिप्ट कमांड के परिणाम (जैसे, uid=33(www-data) gid=33(www-data)) आउटपुट करेगी। आप अपनी लैब में शेल की उपस्थिति भी सत्यापित कर सकते हैं:
docker exec wpvivid-lab ls /var/www/html/wp-content/uploads/
यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा अनुसंधान के लिए है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है।