image

Securitybedrijven waarschuwen voor Spring4Shell-lek in Java Spring Framework

donderdag 31 maart 2022, 12:39 door Redactie, 7 reacties
Laatst bijgewerkt: 31-03-2022, 16:52

Verschillende securitybedrijven waarschuwen voor een kritieke kwetsbaarheid in het Java Spring Framework waardoor een ongeauthenticeerde aanvaller door het versturen van een request code op kwetsbare systemen kan uitvoeren. Het beveiligingslek heeft de naam "Spring4Shell" gekregen. Een beveiligingsupdate is nog niet beschikbaar. Volgens verschillende bronnen wordt er inmiddels actief misbruik van het lek gemaakt. Spring is een zeer populair framework voor het ontwikkelen van Java-applicaties.

Er is online enige verwarring over het lek ontstaan, aangezien er ook een kwetsbaarheid in Spring Cloud is gevonden, aangeduid als CVE-2022-22963. Dit lek verschilt echter van Spring4Shell en heeft wel een beveiligingsupdate ontvangen, zo melden securitybedrijven Rapid7, Lunasec, Praetorian en Cyber Kendra.

Het bestaan van Spring4Shell kwam aan het licht door een beveiligingsonderzoeker die een proof-of-concept exploit voor een onbekende kwetsbaarheid in het Spring Framework publiceerde en het mogelijk maakt voor ongeauthenticeerde aanvallers om code op kwetsbare systemen uit te voeren. De exploit werd snel verwijderd. Rapid7 laat echter weten dat de kwetsbaarheid echt is en ongeauthenticeerde remote code execution mogelijk maakt.

Spring.IO, dat het Spring Framework ontwikkelt, heeft de kwetsbaarheid nog niet bevestigd. Er is ook nog geen CVE-nummer aan het beveiligingslek toegekend. Volgens Rapid7 zijn er wel mitigaties beschikbaar, maar zijn die niet in alle scenario's toepasbaar. "Exploitatie vereist een endpoint waarop DataBinder staat ingeschakeld (bijvoorbeeld een POST request dat data van de request body automatisch decodeert", stelt Praetorian. Het securitybedrijf adviseert als tijdelijke oplossing om verschillende gevaarlijke patronen aan een denylist toe te voegen, wat misbruik moet voorkomen. Het bedrijf zegt alle details over een exploit voor het lek met Spring.IO te hebben gedeeld en zal geen verdere informatie geven totdat updates beschikbaar zijn.

Lunasec meldt in een blogpost dat alle gebruikers van Spring Core kwetsbaar zijn. Het securitybedrijf voegt toe dat de kwetsbaarheid niet zo ernstig is als Log4Shell. "Alle aanvalsscenario's zijn complexer en hebben, vanwege hoe Class Loader Manipulation-aanvallen in Java werken, meer mitigatiefactoren dan Log4Shell", aldus Lunasec-ceo Free Wortley.

Update

Spring heeft inmiddels updates uitgebracht. Het gaat om Spring Framework versies 5.3.18 en 5.2.20 waarmee het probleem wordt verholpen. Daarnaast komt er ook een update voor Spring Boot. Verdere zijn er initiële details bekendgemaakt, alsmede verschillende workarounds.

Update 2

Het Nationaal Cyber Security Centrum (NCSC) en het Australische Cyber Security Centre (ACSC) hebben beveiligingsadviezen uitgebracht.

Update 3

Het CERT Coordination Center (CERT/CC) van de Carnegie Mellon Universiteit heeft inmiddels ook een advisory uitgebracht. De organisatie waarschuwt dat door het versturen van speciaal geprepareerde data naar een Spring Java-applicatie, zoals een webapplicatie, een aanvaller willekeurige code met de rechten van de getroffen applicatie kan uitvoeren. Afhankelijk van de applicatie kan het zijn dat een aanvaller zich niet hoeft te authenticeren.

Update 4

De kwetsbaarheid wordt geïdentificeerd als CVE-2022-22965. Volgens de uitleg zijn applicaties die als Spring Boot executable worden uitgerold, wat de standaard is, niet kwetsbaar. Vanwege de aard van het beveiligingslek zouden er mogelijk andere mogelijkheden voor misbruik zijn.

Reacties (7)
31-03-2022, 13:21 door Anoniem
Zo zie je maar, Java is geen haar beter dan het vaak bekritiseerde PHP. Alles kent kwetsbaarheden.
31-03-2022, 13:31 door Lizard
Ondertussen is er ook een officiële reactie vanuit spring zelf: https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

Er zijn nieuwere versies van Spring uitgebracht:

- [11:59 BST] Spring Framework versions 5.3.18 and 5.2.20, which address the vulnerability, are now available on Maven Central. The release process for Spring Boot is in progress,but applications can already upgrade their Spring Framework version independently in order to be protected.

Ook lijkt de aanvalsvector voor nu mee te vallen:

The vulnerability impacts Spring MVC and Spring WebFlux applications running on JDK 9+. The specific exploit requires the application to be packaged as a WAR and deployed to Apache Tomcat. This does mean the exploit does not work for Spring Boot with embedded Tomcat. However, the nature of the vulnerability is more general, and there may be other ways to exploit it.
31-03-2022, 14:33 door Anoniem
Door Anoniem: Zo zie je maar, Java is geen haar beter dan het vaak bekritiseerde PHP. Alles kent kwetsbaarheden.
Waar aan gewerkt wordt ontstaan bugs die opgelost moeten worden. Het gaat er om hoeveel en hoe erg en met welke regelmaat het er zijn. Het allerbelangrijkste is hoe snel is het opgelost en ge-patcht
31-03-2022, 15:17 door Anoniem
Door Anoniem: Zo zie je maar, Java is geen haar beter dan het vaak bekritiseerde PHP. Alles kent kwetsbaarheden.

Je moet gewoon programmeren in assembly en ervoor zorgen dat je geen enkele programmeerfout maakt!
31-03-2022, 16:33 door Anoniem
Door Anoniem:
Door Anoniem: Zo zie je maar, Java is geen haar beter dan het vaak bekritiseerde PHP. Alles kent kwetsbaarheden.
Waar aan gewerkt wordt ontstaan bugs die opgelost moeten worden. Het gaat er om hoeveel en hoe erg en met welke regelmaat het er zijn. Het allerbelangrijkste is hoe snel is het opgelost en ge-patcht
Ik ben het volledig met je eens. Het is alleen jammer dat bij een probleem in een PHP gebaseerde applicatie er meteen door diverse mensen (ook op security.nl) benadrukt moet worden dat PHP een hobbytaal en onveilige meuk is. Ik kan wel begrijpen dat mensen daar een beetje moe van worden, andersom hoor je die mensen ook niet klagen dat de C familie een kreupele, achterhaalde zooi is als het zoveelste lek door een buffer overflow in een driver of systeemlibrary is gevonden. Dan is het ineens wel de schuld van de programmeur ipv de taal.
31-03-2022, 20:15 door linuxpro
Daar waar je php zoals iemand anders noemde, vrij makkelijker en zonder veel risico kan updaten is dat met Java meuk wel anders... en minor versie verschil met waarop de app ontwikkelt is is al genoeg om een niet werkende omgeving te krijgen.
01-04-2022, 08:58 door Xavier Ohole - Bijgewerkt: 01-04-2022, 09:01
Door Anoniem: Zo zie je maar, Java is geen haar beter dan het vaak bekritiseerde PHP. Alles kent kwetsbaarheden.

Waaruit denk je deze conclusie te kunnen trekken? Uit dat er in professionele software ook wel eens een probleem zit?

Door linuxpro: Daar waar je php zoals iemand anders noemde, vrij makkelijker en zonder veel risico kan updaten is dat met Java meuk wel anders... en minor versie verschil met waarop de app ontwikkelt is is al genoeg om een niet werkende omgeving te krijgen.

Natuurlijk moet je je versies op orde hebben... In de amateuristische PHP wereld hanteert men vaak het 'wat niet weet, wat niet deert' systeem maar dat gaat je natuurlijk uiteindelijk zwaar opbreken.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.