Blog:

De geschiedenis van 30 jaar cybersecurity

Lees verder

Pinewood Security Bulletin – Update kwetsbaarheid in Java Spring Framework (Spring4Shell, CVE-2022-22965)

Pinewood Security Bulletin – Update kwetsbaarheid in Java Spring Framework (Spring4Shell, CVE-2022-22965)

Update

Het NCSC heeft een overzicht gepubliceerd met kwetsbare software. Pinewood adviseert om dit overzicht in de gaten te houden en te controleren of er gebruik gemaakt wordt van deze kwetsbare software. Als dat zo is, dan moet het advies van de leverancier opgevolgd worden. Het overzicht, dat nog continue bijgewerkt wordt, is te vinden op https://github.com/NCSC-NL/spring4shell/blob/main/software/README.md .

 Samenvatting

Door een kwetsbaarheid in het Java Spring Core Framework (<= versie 5.3.17) kan op afstand code uitgevoerd worden op een server (Remote Code Execution). Het Spring Framework wordt als basis gebruikt binnen andere software. Er is nog geen compleet overzicht van alle software waarin deze kwetsbaarheid zit. Pinewood adviseert om te inventariseren welke publiek bereikbare (web)applicaties gebruik maken van Apache Tomcat. Daarnaast is het advies om nieuwsberichten van leveranciers in de gaten te houden. Het overzicht van het NCSC met kwetsbare software kan hierbij helpen.

Beschrijving

Door een kwetsbaarheid in Java Spring Core Framework (<= versie 5.3.17) kan op afstand code uitgevoerd worden op een server (Remote Code Execution). Specifiek gaat het om een bypass van een eerdere kwetsbaarheid (CVE-2010-1622) in Spring MVC en Spring WebFlux applicaties. De manier waarop de applicatie gegevensinvoer verwerkt kan misbruikt worden om andere gegevens binnen de applicatie te overschrijven. Uiteindelijk kan hierdoor code worden uitgevoerd binnen de applicatie. Deze nieuwe kwetsbaarheid heeft het CVE-nummer CVE-2022-22965 gekregen.

De ontwikkelaars hebben aangegeven dat aan verschillende randvoorwaarden voldaan moet zijn, voordat deze kwetsbaarheid misbruikt kan worden. Het gaat om de volgende voorwaarden:

  • De applicatie maakt gebruik van JDK 9+
  • De applicatie is verpakt (packaged) als WAR
  • De applicatie gebruikt Apache Tomcat als servlet container
  • De applicatie heeft een afhankelijkheid (dependency) op spring-mvc of spring-webflux.

Applicaties op basis van Spring Boot met ingebouwde Apache Tomcat installatie zijn door bovenstaande randvoorwaarden niet kwetsbaar.

Tijdlijn en verwarring andere kwetsbaarheden

Op dinsdag 29 maart 2022 werd publiekelijk bekend gemaakt dat er een Remote Code Execution kwetsbaarheid in Java Spring Framework aanwezig is. Informatie over deze kwetsbaarheid werd echter vrij snel weer verwijderd en bevatte ook niet alle details om dit te reproduceren. De ontwikkelaars van het Spring Framework waren niet op de hoogte van deze kwetsbaarheid. Omdat er op dezelfde dag een andere kwetsbaarheid in Java Spring Cloud Function (CVE-2022-22963) werd gevonden, was het in eerste instantie onduidelijk of het ging om één en dezelfde kwetsbaarheid. Op woensdag 30 en donderdag 31 maart werd pas echt duidelijk dat het ging om twee verschillende kwetsbaarheden. Op donderdag zijn twee nieuwe versies van Java Spring Framework gepubliceerd die de ‘Spring4Shell’-kwetsbaarheid verhelpen. Tegelijkertijd zijn er al verschillende scripts gepubliceerd waarmee de kwetsbaarheid misbruikt kan worden.

Gerelateerd aan de ‘Spring4Shell’ en ‘Spring Cloud Function’ kwetsbaarheden, was er speculatie over een derde ‘deserialization’ kwetsbaarheid. De ontwikkelaars hebben aangegeven dat dit geen kwetsbaarheid betreft.

 Oplossing en workarounds

De kwetsbaarheid is opgelost in versies 5.3.18 en 5.2.20 van het Spring Framework. Als workaround kan de kwetsbare code worden aangepast om misbruik te voorkomen. Op de website spring.io is uitgelegd hoe deze workaround werkt. Beide oplossingen vereisen een aanpassing van de applicatie. Voor zover bekend zijn er geen instellingen die aangepast kunnen worden om deze kwetsbaarheid te verhelpen.

Advies

Pinewood adviseert om te inventariseren welke publiek bereikbare (web)applicaties gebruik maken van Apache Tomcat. Volg berichten van leveranciers of neem contact met deze op om na te gaan of software kwetsbaar is voor Spring4Shell. Een overzicht van publieke berichten is te vinden op https://github.com/NCSC-NL/spring4shell/blob/main/software/README.md.

De kwetsbaarheid is niet alleen vanaf het internet te misbruiken. Blijf daarom in de gaten houden of de kwetsbaarheid ook niet-publiek bereikbare applicaties betreft. Pinewood zal nieuwe security bulletins versturen zodra bekend wordt welke software getroffen is door deze kwetsbaarheid.

Monitoring in het Security Operations Center

In het Security Operations Center van Pinewood worden de ontwikkelingen rondom deze kwetsbaarheid op de voet gevolgd. Er wordt nog gewerkt aan specifieke detectiemethoden voor deze kwetsbaarheid. Algemene indicatoren van misbruik worden uiteraard in de gaten gehouden.

Meer informatie

Vragen

Voor vragen m.b.t. dit issue kunt u contact opnemen met Pinewood SOC (015 750 13 31) of via e-mail soc@pinewood.nl.

Richard Strooper

CTO / Manager SOC

015 251 36 36

info@pinewood.nl