Frontend Admin: account takeover sin login, actualizá a 3.29.13
Frontend Admin by DynamiApps (el plugin que te deja armar formularios para que tus clientes editen contenido, usuarios y productos desde el frontend, sin entrar al dashboard) tiene una vulnerabilidad de account takeover sin autenticación: CVE-2026-75816, con CVSS 9.8 (Critical) según Wordfence. Afecta a todas las versiones hasta 3.29.12 y el parche es la 3.29.13, publicada el 25 de agosto de 2026.
Un atacante anónimo puede sobreescribir el email de cualquier usuario del sitio — incluyendo el del administrador — con una sola request, y después usar el flujo nativo de recuperación de contraseña de WordPress para tomar el control completo de esa cuenta. Sin login, sin interacción de la víctima. Es el mismo patrón de ataque que ya se explotó en masa contra Kirki (CVE-2026-8206) en junio de este año: cambiar el email de la víctima y resetear la contraseña por el flujo legítimo de WordPress.
Qué pasó
El bug vive en el manejo de los formularios públicos del plugin. Según el análisis de Wordfence (reportado por el investigador thevietronin – GalaxyOne):
- La función
pre_update_value()aplica el valor enviado en el formulario sin verificar capacidades ni ownership: cualquiera puede “editar” el registro que mande. - La función
ActionPost::conditions_logic()bypassea su propio chequeocurrent_user_can('edit_post')cuando el identificador del objeto es no-numérico. Si el atacante mandauser_1como identificador (en lugar de un ID numérico de post), el plugin enruta el submit a un registro de usuario en vez de a un post, y lo hace sin pasar por la autorización.
El resultado: un atacante que no tiene ni cuenta en tu sitio puede escribir sobre cualquier registro de usuario, cambiar el email del admin por uno propio, y disparar “¿Olvidaste tu contraseña?”. WordPress manda el link de reset al email del atacante, y ahí ya tiene la cuenta del administrador.
Una vez adentro como admin: instalar plugins maliciosos, subir webshells, inyectar SEO spam, robar la base de datos de clientes y pagos, y dejar backdoors.
Detalle que hace esto más serio: el plugin es un repeat offender. En lo que va de 2026 ya acumula 8+ vulnerabilidades publicadas por Wordfence:
- CVE-2026-66662 (agosto, 9.8): escalada de privilegios sin autenticación.
- CVE-2026-6226 (mayo, 8.8): creación de cuentas admin sin autenticación.
- CVE-2026-7802 (mayo, 8.8): takeover de cuenta admin (subscriber+).
- CVE-2026-6228 (mayo, 8.8): escalada de privilegios vía formulario.
- CVE-2026-3328 (marzo): PHP Object Injection con potencial RCE (editor+).
- Más XSS stored y SQL injection menores (CVE-2026-13609, CVE-2026-12747, CVE-2026-11867).
Cuando un plugin de formularios tiene este historial, “actualizá” no alcanza como estrategia única: la superficie que abre (formularios públicos escribiendo sobre usuarios y posts) es demasiado jugosa para atacantes automatizados.
Detalle técnico
| Campo | Dato |
|---|---|
| CVE | CVE-2026-75816 |
| Severidad / CVSS | Crítica — 9.8 (Wordfence) |
| Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Tipo | Authentication Bypass → Account Takeover (CWE-287 Improper Authentication) |
| Componente | Frontend Admin by DynamiApps (ex ACF Frontend), slug acf-frontend-form-element |
| Versiones afectadas | Todas hasta 3.29.12 inclusive |
| Versión corregida | 3.29.13 (25/08/2026) |
| Requiere autenticación | No (unauthenticated) |
| Condición de explotación | Un formulario público del plugin accesible en el sitio (el caso típico: formularios de edición de perfil/registro) |
| Instalaciones activas | 8.000+ (wordpress.org) |
| Reportado por | thevietronin – GalaxyOne (vía Wordfence bug bounty) |
| Divulgación | 25/08/2026: release 3.29.13 con permission checks · 05–06/09/2026: publicación pública del advisory y CVE |
| Explotación activa | Sin evidencia pública de explotación masiva al momento de escribir este post (a diferencia del caso Kirki de junio) |
¿Te afecta?
Te afecta si usás Frontend Admin by DynamiApps (antes ACF Frontend) en cualquier versión hasta 3.29.12 — en particular si publicás en el frontend formularios de edición de perfil de usuario, registro de usuarios o formularios que escriban sobre campos de usuarios (muy común en dashboards de clientes, portales de miembros, marketplaces y sitios con WooCommerce).
La condición es simple: con el plugin activo y cualquier formulario público servido por el plugin, el vector está disponible. No hace falta que el formulario “sea de usuarios”: el bypass usa identificadores no-numéricos para que el submit caiga en un registro de usuario igual.
Dos datos para dimensionar el riesgo de tu caso:
- Si usás WooCommerce con este plugin para que clientes carguen productos o editen su perfil desde el frontend, estás en el caso de uso más común del plugin — y el de mayor exposición.
- Si además tenés clientes o proveedores editando contenido (el caso típico del plugin), el formulario público ya existe en tu sitio: no tenés que “habilitar” nada extra para ser atacable.
Qué hacer ahora
- Actualizá YA a 3.29.13: andá a Dashboard → Updates en tu WP Admin y actualizá Frontend Admin by DynamiApps. Confirmá la versión en Plugins → Installed Plugins (tiene que decir 3.29.13 o posterior). El changelog de la 3.29.13 menciona explícitamente “improved permission checks in the Post, Term, and Product actions” y “improved validation when dynamically loading a form”.
- No dejes el plugin en 3.29.12 pensando que “mañana”: es plugin gratuito, se actualiza solo desde el repositorio de WordPress si tenés las actualizaciones automáticas activas. Si desactivaste las actualizaciones automáticas (algo común en sitios con clientes), actualizá manualmente hoy.
- Si no podés actualizar en el momento: desactivá los formularios públicos de edición de usuario y registro mientras tanto. Es contención, no parche: la superficie de ataque entera es el formulario público.
- Auditá cuentas de usuario: revisá Usuarios → Todos los usuarios buscando emails que no reconozcas o roles elevados, y mirá el registro de actividad si usás un plugin de logs. Un atacante que ya explotó esto deja el rastro en el email cambiado.
- Considerá si este plugin es la herramienta correcta a futuro: con 8+ CVEs en un año en funciones de autorización de usuarios, es razonable evaluar alternativas (formularios con permiso explícito por campo, o builders que delegan menos superficie) o al menos mantener el plugin actualizado como parte de un mantenimiento mensual en vez de “cuando me acuerde”.
- Si manejás sitios de clientes: verificá producción Y staging en cada sitio. Un staging público con el plugin viejo es igual de explotable.
TL;DR: Frontend Admin by DynamiApps ≤ 3.29.12 permite a cualquier visitante anónimo sobreescribir el email de cualquier usuario — incluido el admin — mediante una sola request a un formulario público, y tomar la cuenta con el password reset nativo de WordPress (CVE-2026-75816, CVSS 9.8). Mismo patrón que el ataque masivo a Kirki de junio. El plugin ya acumuló 8+ CVEs en 2026 en funciones de permisos. Actualizá a 3.29.13 hoy y auditá cuentas de usuario; si no podés actualizar, desactivá los formularios públicos de usuario como contención.
Fuentes
- NVD: CVE-2026-75816
- Wordfence Intelligence: Frontend Admin by DynamiApps ≤ 3.29.12 – Unauthenticated Account Takeover via ‘_acf_objects’ Object Identifier
- IONIX Threat Center: CVE-2026-75816 (Authentication Bypass / Account Takeover)
- WordPress.org: Frontend Admin by DynamiApps (changelog 3.29.13 – 25-08-2026)
- BleepingComputer: Critical Kirki flaw exploited to hijack WordPress admin accounts (el ataque masivo de junio con el mismo patrón)
Seguí leyendo
¿Tu WordPress está caído, hackeado o querés protegerlo antes de que pase? Te ayudo a recuperarlo y blindarlo.
Solicitar diagnóstico