BAKGRUNN:

Merk at det også nylig kom informasjon om en annen, alvorlig sårbarhet i Spring Cloud, som er tildelt CVE-2022-22963. Her er det sluppet oppdateringer, henholdsvis versjon 3.1.7 og 3.2.3 som lukker denne sårbarheten. Dette er imidlertid en annen sårbarhet enn det som er det primære fokuset i dette varselet, som gjelder sårbarheten i Spring Framework.

SÅRBARHET LUKKET:

Sårbarheten er lukket i Spring Framework 5.3.18 og 5.2.20. Spring har også publisert et eget varsel2 rundt dette. De skriver også at sårbarheten gjelder Spring Boot, og at de er i prosess med å slippe oppdatert versjon av Spring Boot.

UTNYTTELSE:

Eksempelkode for utnyttelse av sårbarheten er offentlig tilgjengelig.

Utnyttelse av sårbarheten virker til å være avhengig av oppsett og konfigurasjon av webapplikasjonen. Det er derfor utfordrende å skanne etter fra internett på måter som skalerer, dette gjelder både for angripere, HelseCERT og interne sikkerhetsteam for den enkelte virksomhet.

Vi er ikke kjent med konkrete applikasjoner som er sårbare, men forventer at sårbare applikasjoner og måter å utnytte de på vil bli identifisert i de kommende dagene.

TEKNISKE DETALJER:

For å være sårbar er det flere momenter som må være tilstede:

 - Applikasjonen må bruke Spring Framework

 - Applikasjonen må kjøre på Java >= 9

 - Applikasjonen bruker ikke en allow-liste for hvilke felt man godtar å deserialisere, eller man har ikke en deny-liste som stopper deserialisering av sensitive felt

 - Applikasjonen bruker key/value-mapping i stedet for Springs mer populære JSON / XML.

Eksempelkode fra Spring for håndtering av nettsideskjemaer[3] er sårbar, noe som gjør det mer sannsynlig at man må påregne å finne sårbare applikasjoner.

Sårbarheten er beskrevet i detalj i flere ulike tekniske bloggposter[4][5][6].

 

ANBEFALING:

Vår anbefaling er å identifisere Java web-applikasjoner i egen organisasjon som benytter Spring Framework, både hyllevare og egenutviklet. Prioriter internetteksponerte systemer, deretter interne.

Videre anbefaler vi å oppdatere sårbare systemer snarest. I mange tilfeller vil dette innebære oppdatering fra leverandør.

 

Referanser:

1https://www.praetorian.com/blog/spring-core-jdk9-rce/

2https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

3https://spring.io/guides/gs/handling-form-submission/

4https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities

5https://securityboulevard.com/2022/03/new-spring4shell-zero-day-vulnerability-confirmed-what-it-is-and-how-to-be-prepared/

6https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/