Home Tecnología La vulnerabilidad de Laravel App_Key permite la ejecución del código remoto

La vulnerabilidad de Laravel App_Key permite la ejecución del código remoto

23
0

Una vulnerabilidad crítica en las aplicaciones de Laravel expone los valores de configuración de APP_Key, lo que permite a los atacantes lograr la ejecución de código remoto (RCE).

Investigación colaborativa entre Gitguardian y Synacktiv reveló que aproximadamente 260,000 app_keys han sido expuestos en GitHub desde 2018, con más de 600 aplicaciones confirmadas vulnerables a los ataques de RCE triviales.

La vulnerabilidad proviene de la deserialización automática de Laravel de los datos descifrados, combinados con una exposición generalizada de claves criptográficas en repositorios públicos.


Control de llave
1. La APP_Key expuesta de Laravel habilita la ejecución del código remoto a través de fallas de deserialización automática.
2. 260,000 App_Keys expuestos en GitHub desde 2018, con más de 600 aplicaciones vulnerables.
3. Los atacantes usan herramientas PHPGGC para crear cargas útiles para la ejecución del código trivial a través de la función Decrypt ().
4. El 35% de las exposiciones de APP_Key incluyen credenciales críticas adicionales como base de datos y tokens en la nube.

Vulnerabilidades de Laravel App_Key

La App_Key sirve como la clave de cifrado simétrica primaria de 32 bytes de Laravel, utilizada automáticamente por las funciones CiCrypt () y Decrypt () del marco para asegurar cookies, datos de sesión y tokens de restablecimiento de contraseña.

La vulnerabilidad crítica surge de la implementación de Laravel, donde la función Decrypt () se deserializa automáticamente los datos descifrados sin la validación adecuada.

Esta falla de diseño crea un vector de ataque de deserialización peligroso cuando se combina con APP_Keys expuesto.

Los atacantes pueden elaborar cargas útiles maliciosas que, cuando se procesan a través del mecanismo de descifrado de Laravel, activan la ejecución de código arbitrario en el servidor de destino.

La vulnerabilidad afecta las aplicaciones en múltiples versiones de Laravel, lo que lo hace particularmente generalizado y peligroso.

La explotación exitosa se basa en las cadenas de dispositivos PHP: secuencias de código documentadas que logran la ejecución de comandos arbitrarios durante el proceso Unserialize ().

Herramientas como PHPGGC (cadenas de dispositivos genéricos PHP) Catálogo de estas cadenas de ataque para versiones de Laravel hasta V12:

El escenario de ataque más efectivo ocurre cuando tanto APP_KEY como App_url están expuestos simultáneamente. Los atacantes pueden acceder directamente a la aplicación objetivo, recuperar cookies de sesión y descifrarlas utilizando la clave comprometida.

La investigación identificó 28,000 de estos pares expuestos en GitHub, con aproximadamente el 10% restante válido y 120 aplicaciones actualmente vulnerables al compromiso inmediato.

Las vulnerabilidades heredadas como CVE-2018-15133 demuestran cómo la serialización de las cookies de Laravel usando session_driver = cookie permite ataques de RCE triviales, mientras que los descubrimientos recientes, incluidos CVE-2024-55555 y CVE-2024-48987, muestran este vector de ataque persisten en aplicaciones modernas.

Estrategias de mitigación

El análisis revela que el 63% de las exposiciones de APP_Key se originan en archivos .env o variantes como .env.Production, que indica fallas de administración de configuración sistémica.

Más de un tercio de las divulgaciones de APP_Key coinciden con exposiciones secretas adicionales, incluidas las credenciales de la base de datos (MongoDB, MySQL, Postgresql), los tokens de almacenamiento en la nube (AWS S3, los espacios de océano digital) y las claves de la plataforma de pago (Stripe, PayPal).

El monitoreo de producción de GitGuardian ha identificado más de 10,000 Keyas APP_SPEP únicos en GitHub, con 1,300 instancias que contienen pares APP_KEY y APP_URL.

La validación automatizada confirmó 400 App_Keys funcionales, con 4 vulnerabilidades de RCE verificadas en los sistemas de producción.

La mitigación adecuada requiere una rotación inmediata de APP_Key en lugar de una simple eliminación del repositorio.

Las organizaciones deben implementar un monitoreo secreto continuo, utilizar herramientas de detección automatizadas y establecer prácticas seguras de gestión de configuración para evitar futuras exposiciones.

Fuente de noticias