1. Descripción técnica
CVE-2021-43857 afecta a Gerapy anterior a 0.9.8. El advisory del proyecto ubica la ejecución remota en project_configure: una entrada externa alcanza la construcción de una orden sin neutralizar correctamente sus elementos especiales.
La versión 0.9.8 contiene la corrección. El impacto depende de la identidad que ejecuta el servicio de Gerapy, no de los privilegios del navegador desde el que se envía la solicitud.
1.1. Mecanismo
// renderizando diagrama…
2. Impacto
Un atacante puede ejecutar órdenes en el host con los permisos del proceso Gerapy. Si un administrador inicia la aplicación como root, la misma vulnerabilidad produce comandos con UID 0; eso es una consecuencia del despliegue y no un privilegio inherente a Gerapy.
3. Condiciones necesarias
- Gerapy es anterior a 0.9.8.
- La función vulnerable está expuesta y es alcanzable.
- La solicitud controla el parámetro que llega a
project_configure. - Los requisitos de sesión dependen de la ruta y del despliegue; la prueba utilizada debe documentarlos.
4. Validación y detección
Se comprueba la versión instalada y se revisan solicitudes a funciones de proyecto. Una prueba controlada debe usar una orden sin efectos persistentes y confirmar la identidad resultante.
Para respuesta a incidentes se inspeccionan procesos hijos de Gerapy, comandos inesperados, proyectos recientes, cuentas creadas y conexiones salientes desde el servicio.
5. Explotación documentada en los writeups
5.1. 018-university
La regla de sudo permite iniciar Gerapy como root. El laboratorio inicializa Gerapy 0.9.7, crea una cuenta para el flujo usado por el exploit y ejecuta la prueba de CVE-2021-43857 contra el servicio local. La cadena hereda UID 0 porque esa es la identidad del proceso iniciado.
6. Mitigación
- Actualizar a Gerapy 0.9.8 o posterior.
- No ejecutar la aplicación como root.
- Restringir el acceso de red y las funciones administrativas.
- Invalidar sesiones y rotar secretos si se detecta explotación.
- Revisar proyectos, procesos hijos y persistencia antes de restaurar el servicio.
7. Clasificación
- CVE: CVE-2021-43857 en NVD
- CWE: CWE-78
- Versiones afectadas: Gerapy anteriores a 0.9.8
- Versión corregida: 0.9.8