Beschrijving
Spring Core Framework is een verzameling van Java-softwarebibliotheken die kunnen worden gebruikt
in softwareprogramma’s die in Java geschreven zijn. Spring Core is ingebakken in veel Java-software.
Deze kwetsbaarheid maakt het mogelijk dat een aanvaller – zonder vereiste authenticatie-
in bepaalde omstandigheden ongeautoriseerde code kan uitvoeren en toegang kan krijgen tot het
programma of de applicatie en de bijbehorende informatie. Om misbruik te kunnen maken van deze kwetsbaarheid, zijn er momenteel diverse technische randvoorwaarden bekend. Deze zijn hieronder opgesomd. Mogelijk is deze lijst momenteel nog niet volledig.
Voor zover duidelijk, is de applicatie kwetsbaar als deze voldoet aan de volgende voorwaarden:
- Maakt gebruik van Spring Core Framework (tot en met versie 5.3.17);
- Maakt gebruik van spring-webmvc of spring-webflux dependencies (onbevestigd);
- Maakt gebruik van form bindings met “name=value” data;
- Maakt geen gebruik van een allowlist of denylist waarbij het gebruik van specifieke velden
wordt uitgesloten (i.e. “class”, “module” en “classLoader”); - Draait op Java-versie 9 (JDK) of hoger.
Kortom, applicaties die op afstand toegankelijk zijn, gebruikersinvoer kunnen verwerken en Spring
Core Framework (een versie lager dan 5.3.17) gebruiken om deze invoer te verwerken, zijn mogelijk
kwetsbaar.
Welke mogelijke impact heeft de Spring4Shell kwetsbaarheid?
Als een aanvaller in staat is om de kwetsbaarheid succesvol uit te buiten, dan kan dit leiden tot het uitvoeren van ongeautoriseerde code op de getroffen systemen. Dit kan mogelijk resulteren het compromitteren van de server waar de applicatie op draait. Deze aanval kan uitgevoerd worden vanaf het internet, zonder dat daar authenticatie voor nodig is. Vanuit een gecompromitteerde server kan een aanvaller mogelijk toegang verkrijgen tot de rest van het netwerk. Om deze reden is de CVSS-score van de kwetsbaarheid geclassificeerd als kritiek (9.8).
Wat zijn de indicatoren van misbruik van de Spring4Shell kwetsbaarheid?
Op het moment van schrijven zijn er meerdere indicatoren dat er actief geprobeerd wordt om misbruik te maken van de Spring4Shell kwetsbaarheid – waaronder pogingen tot het uitbuiten van de kwetsbaarheid door bekende malafide IP-adressen.
Hoe is de Spring4Shell kwetsbaarheid te detecteren?
Doordat de kwetsbare functionaliteit zich in een populaire Java-softwarebibliotheek bevindt, is de huidige scope of impact niet inzichtelijk. Het is zeer waarschijnlijk dat veel gebruikte applicaties kwetsbaar zijn. Van een aantal applicaties is momenteel nog niet bekend of zij vallen onder de kwetsbare categorie. Dit heeft als gevolg dat het detecteren van iedere vorm van misbruik een complexe zaak is.
Er is wel een scanner gepubliceerd die mogelijk de aanwezigheid van het Spring Framework op (lokaal) op systemen kan detecteren. Deze scanner is gepubliceerd via het code-platform GitHub:
https://github.com/hillu/local-spring-vuln-scanner
Wat zijn de aanbevelingen omtrent de Spring4Shell kwetsbaarheid?
Voor ontwikkelaars van applicaties die gebruik maken van Spring Framework, geldt het volgende advies:
Er is een nieuwe versie van Spring Framework beschikbaar die te downloaden is via de URL. Aanvullend hierop wordt geadviseerd om tenminste up te daten naar Spring Framework versie 5.3.18 (met Spring Boot 2.6.6 of 2.5.12) of Spring Framework 5.2.20.
NFIR adviseert daarbij om zo snel mogelijk een upgrade uit te voeren en deze vervolgens uit te rollen naar de betrokken systemen en applicaties.
Op het moment dat upgraden niet mogelijk is, kunnen de volgende twee mitigaties toegepast worden:
- Voor organisaties die Spring Framework zelf gebruiken en binnen applicaties specifieke bindings hebben die niet-standaard datatypes gebruiken, is het van belang om de toegestane velden die de applicatie mag gebruiken te specificeren – Meer informatie hierover
is beschikbaar in de Spring documentatie: DataBinder (Spring Framework 5.3.18 API)2. Een tweede beschikbare mitigatie (in het geval dat Tomcat gebruikt wordt als onderliggende webserver) betreft het updaten van Tomcat naar versie 10.0.20, 9.0.62, en 8.5.78 (of hoger)
waarmee de aanvalsroute via Tomcat niet langer functioneert. Meer informatie hierover is beschikbaar op de website van Spring: Spring Framework RCE, Mitigation Alternative
Is er een actieplan wat uw organisatie kan volgen?
Het is belangrijk voor uw organisatie om tenminste de volgende stappen te nemen:
- Breng in kaart welke individuele leveranciers u heeft voor on-premise softwarepakketten, Software-as-a-Service (SaaS) of andere applicatie-leveranciers;
- Raadpleeg de website van uw leveranciers en stel vast of er een vorm van ‘dependency-lijsten’ beschikbaar zijn waarbinnen u kunt controleren of ‘Spring Framework’ gebruikt wordt binnen
de applicatie; - Neem contact op met uw leveranciers om te verifiëren of er binnen de applicaties ‘Spring Framework’ gebruikt wordt en welke versie van Spring Framework er gebruikt wordt;
- Bereid uw organisatie voor op de situatie dat er onverwacht patches uitgevoerd dienen te worden (mogelijk buiten de reguliere update-timeframes) en pas patches gecontroleerd toe volgens de voor uw organisatie gebruikelijke procedure.
Heeft u systemen waarvan het risico groot is, bijvoorbeeld systemen met gevoelige of bijzonder persoonsgegevens? Zo ja, heeft u mogelijk indicaties dat Java met Spring Framework gebruikt wordt en zijn er nog geen updates beschikbaar? Overweeg dan om het systeem tijdelijk uit te schakelen.
Wat moet uw organisatie doen bij mogelijk misbruik?
Indien uw organisatie vermoedelijk het slachtoffer is geworden van een aanval, dan is het dringende advies om onderzoek uit te laten voeren naar de toedracht, in hoeverre aanvallers mogelijk andere systemen hebben gecompromitteerd en welke informatie mogelijk ongeautoriseerd geraadpleegd is.
- Koppel indien mogelijk de getroffen systemen los van het netwerk, maar laat deze aanstaan (in verband met eventuele sporen zoals het vluchtige geheugen – RAM);
- Laat de getroffen systemen forensisch onderzoeken; zorg voor adequate back-ups;
- Reset uw wachtwoorden en gebruikersgegevens;
- Doe aangifte bij de Politie;
- Overweeg een melding te doen bij de Autoriteit Persoonsgegevens.
Heeft uw organisatie op dit moment een incident? Onze Computer Emergency Response Teams (CERT) staan 24/7 voor organisaties klaar om te ondersteunen bij IT- Security Incidenten.
Bel dan 088 133 0700 en wij doen ons uiterste best om u zo snel mogelijk te helpen. (Meer informatie over onze Incident Response Dienst.)
Heeft uw organisatie op dit moment een incident? Onze Computer Emergency Response Teams (CERT) staan 24/7 voor organisaties klaar om te ondersteunen bij IT- Security Incidenten.
Bel dan 088 133 0700 en wij doen ons uiterste best om u zo snel mogelijk te helpen. Hier vindt u meer informatie over onze Incident Response dienst.
Disclaimer: NFIR heeft er alles aan gedaan om deze informatie accuraat en betrouwbaar te maken. De verstrekte informatie is echter zonder enige garantie van welke aard dan ook en het gebruik ervan is geheel voor risico van de gebruiker. NFIR aanvaardt geen enkele verantwoordelijkheid of aansprakelijkheid voor de juistheid, de inhoud, de volledigheid, de rechtmatigheid of de betrouwbaarheid van de verstrekte informatie.