Vulnerabilidades en un complemento de WordPress exponen miles de sitios web
La configuración predeterminada de un popular complemento (plugin) de WordPress genera vulnerabilidades que podrían permitir tomar el control de un sitio.
Decenas de miles de sitios de WordPress están en riesgo. Los sitios están expuestos debido a vulnerabilidades críticas en un complemento ampliamente utilizado que facilita el uso de código PHP en un sitio.
Una de las vulnerabilidades permite que cualquier usuario autenticado de cualquier nivel, incluso suscriptores y clientes, ejecute un código. Este código permite tomar el control por completo de un sitio que tiene el complemento instalado, según descubrieron los investigadores.
Investigadores de Wordfence Threat Intelligence descubrieron tres vulnerabilidades críticas en PHP Everywhere. PHP Everywhere es un complemento instalado en más de 30,000 sitios de WordPress, como revelaron en una publicación realizada recientemente. El complemento hace exactamente lo que sugiere su nombre, lo que permite a los desarrolladores de sitios de WordPress colocar código PHP en varios componentes de un sitio, incluidas páginas, publicaciones y barras laterales.
“Estas vulnerabilidades son muy fáciles de explotar y se pueden usar para apoderarse rápida y completamente de un sitio”, escribió Ram Gall de Wordfence en la publicación. Wordfence proporciona seguridad para los sitios web de WordPress.
Las tres vulnerabilidades se deben a la configuración predeterminada en el complemento. Sin embargo, las vulnerabilidades ya fueron solucionadas por el desarrollador del complemento después de que Wordfence le notificó a través de un proceso de divulgación responsable.
El equipo de Wordfence envió un correo electrónico al creador de PHP Everywhere, Alexander Fuchs, el 4 de enero y recibió una respuesta casi inmediata. Posteriormente, lanzó una “versión en gran parte reconstruida del complemento” que solucionó todos los problemas el 10 de enero. Wordfence insta a todos los administradores de los sitios de WordPress que usan el complemento a que instalen la actualización de inmediato.
Vulnerabilidad Crítica
La más peligrosa de las vulnerabilidades, es la “Ejecución remota de código por parte de los suscriptores a través de un código corto (shortcode)” e identificada a como CVE-2022-24663. La vulnerabilidad está asociada con la inclusión de la funcionalidad del complemento que permite la ejecución de Fragmentos de código PHP a través de shortcodes de WordPress. La vulnerabilidad obtuvo una calificación crítica de 9.9 en la CVSS.
“Desafortunadamente, WordPress permite que cualquier usuario autenticado ejecute shortcodes a través de la acción AJAX parse-media-shortcode. Y, algunos complementos también permiten la ejecución de shortcodes no autenticados. Como tal, es posible que cualquier usuario que inicia sesión, incluso un usuario casi sin permisos, como un suscriptor, pueda ejecutar PHP arbitrario en un sitio enviando una solicitud con el parámetro de shortcode establecido en [php_ everywhere] < PHP arbitrario> [/php_ everywhere]”
Ram Gall
La ejecución de este PHP arbitrario en un sitio de WordPress generalmente permite la “toma de control completa del sitio”.
Otras vulnerabilidades
Las otras 2 vulnerabilidades han sido identificadas como CVE-2022-24664 y CVE-2022-24665 , respectivamente. Ambas obtuvieron el mismo puntaje CVSS que la vulnerabilidad de shortcode, pero los investigadores las consideraron un poco menos graves porque requieren permisos de nivel de colaborador para explotarlas.
La segunda, “Ejecución remota de código por parte de los colaboradores” a través de metabox”, tiene que ver con una configuración predeterminada en PHP Everywhere. Esta configuración permite a todos los usuarios con la capacidad edit_posts
(editar artículos) usar el metabox de PHP Everywhere.
Desafortunadamente, esto significa que los usuarios de nivel colaborador que no son de confianza pueden usar el metabox de PHP Everywhere. Estos lo pueden usar para lograr la ejecución del código en un sitio creando una publicación, agregando código PHP al metabox de PHP Everywhere y luego obteniendo una vista previa de la publicación.
La tercera vulnerabilidad es sobre la “Ejecución remota de código por usuarios por parte de los colaboradores a través del bloque Gutenberg”. La vulnerabilidad está asociada con una configuración predeterminada en PHP Everywhere que permite a todos los usuarios con la capacidad editar artículos usar el bloque PHP Everywhere Gutenberg.
Si bien es posible establecer esto como solo administrador, esta no se configuró de manera predeterminada debido a que las versiones <=2.0.3 no podían agregar comprobaciones de capacidad sin deshabilitar el editor de bloques de Gutenberg.
Desafortunadamente, esta configuración significa que los usuarios de nivel colaborador podían ejecutar código PHP arbitrario en un sitio. Esto es posible al crear una publicación, agregar el bloque PHP everywhere y agregarle código, y luego obtener una vista previa de la publicación.
Riesgos y Protección
Los complementos de WordPress son un problema constante para los desarrolladores de sitios creados con el sistema de creación de sitios web y administración de contenido de código abierto. Esto porque a menudo incluyen vulnerabilidades que amenazan la seguridad de los sitios de WordPress.
El mes pasado, los investigadores descubrieron tres complementos de WordPress con la misma vulnerabilidad. Las vulnerabilidades podrían permitir a un atacante, con la acción del administrador del sitio, actualizar las opciones arbitrarias del sitio en un sitio vulnerable y tomar el control por completo. Y en octubre pasado, un complemento de WordPress llamado Hashthemes Demo Importer permitía a los suscriptores borrar completamente el contenido de los sitios.
De hecho, la cantidad de vulnerabilidades explotables de complementos de WordPress se disparó en 2021. Esta aumentó en tres dígitos, según investigadores de RiskBased Security.
Por su parte, Wordfence ofreció mitigaciones propias a los usuarios afectados por las vulnerabilidades de PHP Everywhere. La compañía ofreció a sus usuarios premium una regla de firewall que protege contra las vulnerabilidades de PHP Everywhere el mismo día que los investigadores notificaron al desarrollador del complemento. Posteriormente extendió el firewall a otros clientes, así como a los usuarios de la versión gratuita de Wordfence.
Wordfence también ofrece a los usuarios de WordPress afectados por las vulnerabilidades servicios de respuesta a incidentes a través de su servicio Wordfence Care.