Update 4/1: This blog was updated to reflect the release of IDS and ModSecurity rules.
Update 4/5: CISA has added CVE-2022-22965 to its Known Exploited Vulnerabilities Catalog due to "evidence of active exploitation." The organization has warned the community of multiple reports of malicious scanning activity.
Trustwave security and engineering teams are actively investigating the vulnerabilities CVE-2022-22965 (also referenced by other vendors as Spring4Shell / SpringShell) and CVE-2022-22963 and potential exploits. We are diligently watching over our clients for exposure and associated attacks and are taking action with approved mitigation efforts.
At this time, Trustwave infrastructure and products have not been adversely affected by the vulnerabilities / exploits. We are continuing to monitor our own infrastructure and products as more information becomes available.
Trustwave is working closely with its technology alliance partners to confirm if products utilized in client environments are protected against any potential exploits of CVE-2022-22965 and CVE-2022-22963. Trustwave is initiating software and policy updates to protect and detect exploitation of these vulnerabilities for clients.
Trustwave will be conducting ongoing actions as vendors release software and additional policy updates. Such activity will be communicated to clients through Fusion cases and change tickets.
The Trustwave SpiderLabs Threat Hunt Team has investigated the vulnerabilities and will continue to monitor for developing attacks.
CVE-2022-22965 is a confirmed RCE vulnerability in Spring Core <=5.3.17 (for 5.3.x) and <=5.2.19 (for 5.2.x). This vulnerability is a class manipulation vulnerability and is currently being discussed publicly as Spring4Shell or SpringShell. It appears to be a bypass of protections set up for CVE-2010-1622 (http://blog.o0o.nu/2010/06/cve-2010-1622.html)
Other mitigating factors will define whether or not a server running on Spring Core is vulnerable. Currently, the only verified-vulnerable instances require the use of Spring MVC or Spring WebFlux applications (spring-webmvc or spring-webflux) running under JDK version 9 and newer. Additionally, Spring Core needs to run under Apache Tomcat as a WAR deployment. JAR deployments are not currently known to be vulnerable.
Additionally, Class Loader Manipulation vulnerabilities can be very complicated and have many mitigating factors, so it's still unclear how many real-world implementations may be vulnerable or whether the scope of this vulnerability will expand to other implementations.
Spring Framework versions 5.3.18 and 5.2.20, which address the vulnerability, are now available (https://tanzu.vmware.com/security/cve-2022-22965).
CVE-2022-22963 is a second confirmed RCE vulnerability in Spring. However, rather than Spring Core, this affects Spring Cloud Function, which is not in the default Spring Framework. It affects Spring Cloud Function <=3.1.6 (for 3.1.x) and <=3.2.2 (for 3.2.x). This vulnerability affects the Spring Expression Language (SpEL). An attacker can pass arbitrary code to SpEL via a HTTP parameter named spring.cloud.function.routing-expression as that parameter goes unvalidated by the Cloud Function.
This vulnerability is comparatively easier to exploit (subject to certain variables) and can be done via common tools like curl and Burp. However, it seems that the number of hosts using Spring Cloud Function is far fewer than Spring Core itself, which should limit the attack surface.
Spring Cloud Function versions 3.1.7 and 3.2.2, which address the vulnerability, are now available (https://tanzu.vmware.com/security/cve-2022-22963).