Oh no, here we go again
This exploit has not been confirmed yet, and comes from unknown sources
Spring4Shell Proof Of Concept/Information
My Poc: https://github.com/BobTheShoplifter/Spring4Shell-POC
Original Poc: https://github.com/craig/SpringCore0day/blob/main/exp.py
Details
Early this morning, multiple sources has informed of a possible RCE exploit in the popular java framework spring.
The naming of this flaw is based on the similarities to the infamous Log4j LOG4Shell. No POC has been shared for the time being
POC
Files: https://github.com/BobTheShoplifter/Spring4Shell-POC
Clone sample repo from https://spring.io/guides/gs/handling-form-submission/
You can skip right to the gs-handling-form-submission/complete directory, no need to follow the tutorial
Modify it so that you can build a war file (https://www.baeldung.com/spring-boot-war-tomcat-deploy). build war file :)
Install tomcat9 + java 11 (i did it on ubuntu 20.04 via apt-get)
Deploy the war file
Update the PoC (https://share.vx-underground.org/) to write the tomcatwar.jsp file to webapps/handling-form-submission instead of webapps/ROOT
Run PoC (ignore the URL it gives you for the webshell): python3 exp.py --url http://your.ip.here:8080/handling-form-submission-complete/greeting
You should see the "tomcatwar.jsp" file now in webapps/handling-form-submission
Hit http://your.ip.here:8080/handling-form-submission/tomcatwar.jsp?pwd=j&cmd=id to see the results
CVE
Mitigations
(The following mitigations are only theoretical as nothing has been confirmed)
JDK Version under 9
Cyberkendra informed that JDK versions lower than JDK 9
You can easily check this by running
java -version
That will display something similar to this
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.2+8-Ubuntu-120.04, mixed mode, sharing)
If your JDK version is under 8, you might be safe, but nothing is confirmed yet
Check if you are using the spring framework
Do a global search after "spring-beans-*.jar" and "spring*.jar"
find . -name spring-beans*.jar
The following article will be updated