Vulnerabilidad de inyección de código en Spring Cloud Gateway (CVE-2022-22947)
ANÁLISIS
Las aplicaciones que utilizan Spring Cloud Gateway son vulnerables a una inyección de código si el Endpoint Gateway Actuator se encuentra habilitado y expuesto. Un atacante sin autenticar podría realizar una solicitud maliciosa para poder ejecutar código arbitrario en el host y escalar privilegios.
Versiones afectadas:
- Spring Cloud Gateway == 3.1.0
- Spring Cloud Gateway >= 3.0.0 and <= 3.0.6
- Spring Cloud Gateway < 3.0.0
A la vulnerabilidad se le ha asignado una puntuación CVSSv3 de 9.4, por lo que se considera crítica. [2]
Hay algunas pruebas de concepto que se pueden encontrar en los siguientes enlaces [3] y [4]
RECOMENDACIONES
La vulnerabilidad ha sido corregida en los parches Spring Cloud Gateway 3.1.1 y Spring Cloud Gateway 3.0.7, por lo que se recomienda actualizar a estas versiones. [5]
Así mismo, si no fuera necesario el Endpoint Gateway Actuator, se aconseja deshabilitarlo o securizarlo [6].
Hay muchas aplicaciones populares en el mercado que utilizan Spring Cloud Gateway, como es el caso de VMWare. Es recomendable revisar que aplicaciones hacen uso para confirmar si se es vulnerable.
REFERENCIAS
[1] https://tanzu.vmware.com/security/cve-2022-22947
[2] https://vuldb.com/es/?id.194181
[3] https://github.com/lucksec/Spring-Cloud-Gateway-CVE-2022-22947
[4] https://wya.pl/2022/02/26/cve-2022-22947-spel-casting-and-evil-beans/
[5] https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2021.0-Release-Notes#202101
[6] https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints.security