Tres vulnerabilidades descubiertas en el paquete Voyager de código abierto PHP para administrar aplicaciones de Laravel podrían usarse para ataques de ejecución de código distante.
Los problemas siguen sin serlo y se pueden usar contra un usuario de viaje autenticado que hace clic en un enlace malicioso.
Los investigadores de vulnerabilidades de Sonarsource, una compañía de seguridad de calidad y código, dijeron que intentaron informar fallas a los agentes de viajes, pero que no han recibido ninguna respuesta en la ventana de 90 días que la compañía proporciona de acuerdo con su política de divulgación de vulnerabilidad.
Detalles de vulnerabilidad
EL El equipo de Sonarqube Cloud encontró La primera vulnerabilidad de viajar, escribe un archivo arbitrario, durante sus análisis de rutina. Al observar más de cerca el proyecto, descubrieron problemas de seguridad adicionales que podrían combinarse para ejecutar ataques de ejecución de código remoto en un solo clic en instancias de viaje accesibles.
Las tres fallas resumen de la siguiente manera:
- CVE-2024-55417 – La función de descarga de viajes multimedia permite a los atacantes descargar archivos maliciosos que evitan la verificación de tipo MIME. Al hacer un archivo Polyglot que aparece como una imagen o un video pero que contiene código PHP ejecutable, un atacante puede realizar la ejecución de código remoto si el archivo se procesa en el servidor.
- CVE-2024-55416 – El punto de terminación / Admin / Compass en Voyager desinfecta gravemente la entrada del usuario, lo que permite a los atacantes inyectar JavaScript en mensajes contextuales. Si un administrador autenticado hace clic en un enlace malicioso, el script se ejecuta en su navegador, lo que potencialmente permite a los atacantes realizar acciones en nombre, incluida la escalada de la ejecución del código remoto.
- CVE-2024-55415 – Una falla en el sistema de administración de archivos permite a los atacantes manejar rutas de archivos y eliminar o acceder a archivos arbitrarios en el servidor. Al explotar esto, los atacantes pueden interrumpir los servicios, borrar archivos críticos o extraer información confidencial.
https://www.youtube.com/watch?v=kvqm5yj7fnw
Según los investigadores de Sonarqube en la nube, han informado los tres problemas para que los gerentes viajen por correo electrónico y Github desde el 11 de septiembre de 2024, pero no han recibido ninguna comunicación.
Durante el período de divulgación de 90 días, intentaron varias veces obtener una respuesta e informar que se acercaba la fecha de divulgación pública.
Los investigadores dicen que también abrieron un informe de seguridad a través de Github el 28 de noviembre y que informaron a los responsables de viajar que la ventana de divulgación de 90 días expiró y que estaban a punto de compartir los detalles técnicas públicamente.
Impacto y recomendaciones
Los desarrolladores de Laravel utilizan principalmente viajar que necesitan un panel de administración predefinido para administrar sus aplicaciones.
Los usuarios típicos son empresas de desarrollo web, nuevas empresas, desarrolladores independientes, entusiastas de Laravel y, en general, pequeñas y medianas empresas que usan Laravel para herramientas internas o aplicaciones basadas en CMS.
EL Proyecto de viaje es muy popular porque era una bifurcación 2.700 veces en Github, recibió más de 11,800 estrellas y tiene millones de descargas.
Dado que los tres defectos de Sonarqube descubiertos permanecen sin corregir, los usuarios viajeros deben considerar restringir el acceso solo a usuarios confiables, limitando las autorizaciones de “BROWSE_MEDIA” para evitar descargas de archivos no autorizadas y el uso de acceso de control basado en roles (RBAC) para minimizar la exposición.
Las medidas de seguridad del servidor incluyen desactivar la ejecución de archivos PHP, utilizando una validación de MIME estricta para rechazar políglots y monitorear regularmente los periódicos para descargar archivos o actividad de acceso inusual.
Si la seguridad es crítica, evite usar el viaje en entornos de producción hasta que las soluciones oficiales sean o consideren migrar a otro panel de administración de Laravel.
