
Advanced Custom Fields: Extended <= 0.9.2.5 - Escalada de Privilegios no Autenticada mediante Bypass de Validación al Parámetro '_acf_post_id'
Advanced Custom Fields: Extended <= 0.9.2.5 - Escalada de Privilegios No Autenticada mediante Bypass de Validación al Parámetro '_acf_post_id' Esta vulnerabilidad de seguridad crítica (CVSS 9.8) afecta a todas las versiones del popular plugin de WordPress Advanced Custom Fields: Extended (ACF Extended) desde la versión 0.9.2.5 en adelante.
Aunque se corrigió en la versión 0.9.2.6, la vulnerabilidad funciona de la siguiente manera:
Función Problemática: La raíz de la vulnerabilidad radica en la confianza no verificada que la función after_validate_save_post() aplica al parámetro POST llamado _acf_post_id. El plugin no somete este parámetro a ningún proceso de validación o autenticación.
Bypass de Validación: Al manipular el parámetro _acf_post_id, el atacante provoca que la función seleccione silenciosamente una rama de limpieza que ignora todos los errores de validación que no llevan el prefijo "acfe:". Esto desactiva dos controles de seguridad críticos:
un error de validación de lista de permisos de rol añadido por acfe_field_user_roles::validate_front_value().
**Error de protección de privilegios de administrador añadido por acfe_module_form_action_user::validate_action().
Creación de Administrador No Autorizado: Después de omitir estas comprobaciones, la función wp_insert_user() se ejecuta con el argumento de rol "administrator" proporcionado por el atacante. Como resultado, se crea una nueva cuenta de administrador en el sistema por un usuario no autenticado, en contra del propósito previsto del plugin.
Flujo Lógico del Código de Exploit El siguiente script de Python es una prueba de concepto que demuestra cómo se puede explotar esta vulnerabilidad. El código funciona automatizando todos los pasos necesarios.