Como decía Yogi Berra, el inmortal receptor de los Yankees de Nueva York, miembro del Salón de la Fama de las Grandes Ligas de Béisbol y fuente de malos propismos: “Es un déjà vu de nuevo”.
Justo cuando todos pensábamos que era seguro volver a sumergirnos en el desarrollo de aplicação después del dolor y la agitación causados por la vulnerabilidad de Log4j y los ataques de Log4Shell, aparece otra vulnerabilidad bestial que ataca la seguridad y devora recursos valiosos.
Como probablemente ya hayas escuchado, el 29 de marzo de 2022, un investigador con sede en China publicó capturas de pantalla de una vulnerabilidad de ejecución remota de código (RCE) en la biblioteca Java de Spring Core. Desde entonces, a la vulnerabilidad se le ha asignado CVE-2022-22965 y se le ha otorgado una puntuación de gravedad CVSS de “Crítica”. La vulnerabilidad, reportada por VMware , había sido publicada en GitHub pero fue eliminada rápidamente. Desafortunadamente, el daño ya estaba hecho y la vulnerabilidad se publicó rápidamente en otros repositorios.
Al igual que ocurre con muchas vulnerabilidades graves que alcanzan una amplia atención mediática, a CVE-2022-22965 también se le ha asignado un nombre común: Spring4Shell, o en algunos casos, SpringShell. De todos modos, una vulnerabilidad de esta gravedad, independientemente del nombre, es definitivamente peligrosa, ya que las bibliotecas Spring se utilizan en la mayoría de las aplicações para ahorrar tiempo a los programadores de Java.
Según un blog publicado por Spring como anuncio anticipado del RCE el 31 de marzo de 2022, la vulnerabilidad afecta a las aplicações Spring MVC y Spring WebFlux cuando se ejecutan en Java Development Kit (JDK) 9+. También puede requerir que la aplicação se ejecute en un Apache Tomcat como WAR. La vulnerabilidad afecta a las versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 de Spring Framework y versiones anteriores. Lo que quizás es más preocupante es que Spring advierte que “la naturaleza de la vulnerabilidad es más general y puede haber otras formas de explotarla que aún no se han informado”.
Además, según Spring, las aplicações que se ejecutan como implementaciones de Java Archive (JAR), que es la opción predeterminada, no son vulnerables a CVE-2022-22965; sin embargo, el proveedor reconoce que pueden verse afectadas por otras técnicas de explotación.
La vulnerabilidad de Spring4Shell también viene después de otra. En el software Spring Cloud Function, versiones 3.1.6 y 3.2.2, así como en versiones anteriores no compatibles, se pueden crear expresiones de enrutamiento especialmente diseñadas en Spring Expression Language (SpEL) para acceder a recursos locales y posiblemente habilitar un ataque RCE. Originalmente clasificada con un puntaje de gravedad CVSS “Media”, CVE-2022-22963 ha sido reclasificada desde entonces como una vulnerabilidad “Crítica”. Las correcciones están disponibles actualizando a las versiones 3.1.7 o 3.2.3 de Spring Cloud Function.
Además de CVE-2022-22965 y CVE-2022-22963, el 28 de marzo de 2022 se informó de otra vulnerabilidad en Spring, CVE-2022-22950. Es una vulnerabilidad de denegación de servicio (DoS) en Spring Framework versiones 5.3.0 – 5.3.16 y anteriores, versiones no compatibles. Spring ha publicado correcciones en Spring Framework 5.3.17+.
A día de hoy, ya se han creado e implementado escáneres Spring4Shell y hay informes de que la vulnerabilidad se está explotando activamente.
Spring ha lanzado versiones que corrigen la vulnerabilidad CVE-2022-22965, incluidas Spring Framework 5.3.18 y 5.2.20; y Spring Boot 2.5.12 que depende de Spring Framework 5.3.18. (Spring Boot 2.6.6, que también depende de Spring Framework 5.3.18, debería lanzarse pronto, según Spring).
Si bien Spring ha hecho un buen trabajo lanzando correcciones para abordar estas graves vulnerabilidades, una vez más la responsabilidad recae en las organizaciones para actualizar y aplicar las correcciones lo más rápido posible. El desafío, al igual que con los problemas de Log4j/Log4Shell, es la ubicuidad de las bibliotecas y el hecho de que pueden usarse en aplicações que las organizaciones pueden no conocer. Si no saben que una aplicação está utilizando un conjunto de bibliotecas afectadas, ¿cómo puede una organización protegerse a sí misma y a sus usuarios de ser afectados por la vulnerabilidad?
Ahí es donde entra en juego F5.
Si bien existen similitudes y diferencias en las características entre las vulnerabilidades del marco Spring y las vulnerabilidades de Log4j y los exploits de Log4Shell, ambas pueden detectarse y bloquearse mediante la implementación de firewalls de aplicação web (WAF) y soluciones de seguridad similares.
Como cliente de F5, ya cuenta con algunas de las protecciones más potentes para defenderse contra ataques basados en Spring4Shell y vulnerabilidades relacionadas. Sin embargo, F5 insta a usted y a sus equipos de desarrollo a actualizar inmediatamente cualquier biblioteca Spring afectada y, si ya no es necesario, eliminar cualquier biblioteca Spring vulnerable de sus aplicações.
Así es como F5 lo respalda y protege sus aplicações, su organización y sus usuarios a través de nuestra cartera integral y dinámica de productos y servicios de seguridad.
Si está bajo ataque o le preocupa que su organización y sus aplicaciones sean vulnerables y estén expuestas, comuníquese con nuestro equipo de soporte de F5 y solicite una escalada al F5 SIRT . Disponible las 24 horas, los 7 días de la semana y los 365 días del año, este equipo lo guiará en la aplicación de parches a los sistemas y software de F5, lo ayudará con las configuraciones y lo asistirá en la implementación de F5 iRules para limitar cualquier exposición o mitigar ataques.
F5 ha lanzado (y continuará abordando y lanzando) conjuntos de firmas disponibles para implementaciones de BIG-IP Advanced WAF y BIG-IP ASM para bloquear cualquier vector de ataque conocido expuesto por las vulnerabilidades de Spring4Shell. Las firmas también se actualizan continuamente con protecciones contra cualquier intento de evasión. Asegúrese de tener y estar trabajando con el paquete de actualización de firmas de ataque (ASU) más actualizado.
Para los clientes que no han implementado Advanced WAF o ASM, se puede aplicar una iRule contra la aplicação para detectar, registrar y descartar cualquier tráfico ofensivo que pueda estar dirigido a CVE específicos.
F5 garantiza una seguridad de aplicação consistente independientemente de la plataforma F5 que utilicen e implementen los clientes. Por lo tanto, los clientes de NGINX App Protect WAF recibirán las mismas firmas actualizadas simultáneamente que los clientes de BIG-IP Advanced WAF . Asegúrese de actualizar sus firmas WAF de NGINX App Protect. Para obtener más información sobre cómo hacer esto, consulte esta guía . Además, asegúrese de que el tipo de ataque “Inyección de código del lado del servidor” esté habilitado en su política WAF.
F5 Distributed Cloud Web Aplicação and API Protection (WAAP) recientemente lanzado protege las aplicaciones y API implementadas en nubes y sitios de borde con el firewall de aplicação web (WAF) basado en SaaS líder en la industria de F5 y protección contra bots, seguridad de API avanzada y defensa DDoS L3-L7. El enfoque WAF único de F5 garantiza una seguridad de aplicação consistente sin importar la oferta de F5 implementada por los clientes. Por lo tanto, como ya se han creado firmas para abordar las vulnerabilidades de Spring4Shell y se han puesto a disposición para BIG-IP Advanced WAF y NGINX App Protect WAF, simultáneamente también se han puesto a disposición para Distributed Cloud WAAP. No es necesario realizar ninguna acción adicional porque, como cliente de Distributed Cloud WAAP, ya está protegido.
Al igual que BIG-IP Advanced WAF, NGINX App Protect y Distributed Cloud WAAP, F5 Distributed Cloud WAF ya recibió las firmas necesarias para protegerse contra la exposición relacionada con las vulnerabilidades de Spring4Shell. Están incluidos en la política WAF predeterminada, por lo que no se requieren acciones adicionales.
El equipo de F5 Silverline ya ha implementado las mitigaciones necesarias, garantizando a los clientes que sus aplicações están protegidas contra Spring4Shell y otras vulnerabilidades relacionadas. F5 Silverline SOC monitorea continuamente las amenazas y está listo para aplicar las mitigaciones necesarias, en conjunto con el equipo de investigación de amenazas de F5 y usted (nuestros clientes), y extiende su equipo de AppSec, trabajando para usted las 24 horas del día, los 7 días de la semana y los 365 días del año. Si tiene alguna pregunta sobre F5 Silverline, comuníquese con el equipo en support@f5silverline.com .
Threat Stack, recientemente adquirida por F5, ofrece capacidades de inspección, detección y generación de informes. El servicio Threat Stack incluye reglas de detección que determinan si una vulneración de Spring4Shell es una preocupación y puede iniciar servicios como root o ejecutarlos desde un shell y escalar intentos. Para obtener más información, comuníquese con su representante de ventas de F5 o visite https://www.threatstack.com .
Un intento de explotar una vulnerabilidad como Spring4Shell generalmente comienza con un reconocimiento automatizado. F5 Distributed Cloud Bot Defense es su primera línea de defensa. Puede detener los escaneos automatizados, lo que aumenta el factor de dificultad para los atacantes que intentan descubrir si su organización tiene aplicaciones web vulnerables a Spring4Shell. Los servicios de nube distribuida de F5 se mantienen al día con las tácticas en constante evolución de los atacantes que operan botnets, lo que permite una adaptación en tiempo real contra ataques automatizados impulsados por bots.
Como las bibliotecas Spring se utilizan en una gran mayoría de aplicações basadas en Java, será un desafío para organizaciones como la suya determinar el alcance total de las vulnerabilidades y los posibles exploits que generan. También puede llevar tiempo actualizar todas las aplicações afectadas, siempre y cuando puedas encontrarlas todas. Esto puede dejar sus aplicaciones y organizaciones vulnerables y explotables. F5 SSL Orchestrator hace visible el tráfico cifrado y detiene las amenazas cifradas. Descifra el tráfico que atraviesa su red, incluso el tráfico del servidor, y dirige automáticamente el tráfico a cadenas de seguridad que puede definir en función de las soluciones de su pila de seguridad. SSL Orchestrator no solo aborda las amenazas cifradas, sino que también puede detener el tráfico malicioso cifrado, como el tráfico destinado a un sistema de comando y control (C2 ) servidor. SSL Orchestrator no solo puede mitigar CVE-2022-22965, sino que también protege contra futuras vulnerabilidades y exploits.
F5 lo ayudará a mantenerse actualizado e informado sobre las últimas novedades sobre Spring4Shell ( CVE-2022-22965 ) y vulnerabilidades relacionadas, y cómo F5 se defiende y mitiga cualquier vulnerabilidad futura que se genere.
A medida que surja nueva información, actualizaremos este blog. Para mayor contexto, puede acceder a los siguientes recursos: