This post is also available in: English (Engels) 繁體中文 (Traditioneel Chinees) Deutsch (Duits) Italiano (Italiaans) 한국어 (Koreaans) Español (Spaans) Türkçe (Turks)
Op 22 augustus 2018 publiceerde de Apache Foundation een kritieke beveiligingsupdate voor CVE-2018-1176, een kwetsbaarheid waardoor externe code kan worden uitgevoerd in Apache Struts versies 2.3 tot 2.3.34 en 2.5 tot 2.5.16. De Apache Foundation adviseert iedereen om de updates zo snel mogelijk te installeren.
In dit blogbericht geven we informatie waarmee organisaties hun risico kunnen evalueren met betrekking tot de kwetsbaarheid. Ook informeren we via deze weg de klanten van Palo Alto Networks over de aanwezige beschermingsmaatregelen waarmee ze het risico kunnen verkleinen totdat de beveiligingsupdates zijn geïnstalleerd. Klanten van Palo Alto Networks die de nieuwste signatures voor kwetsbaarheden (d.d. 24 augustus 2018) hebben geïnstalleerd, zijn beschermd.
Informatie over kwetsbaarheid
Volgens zowel de Apache Foundation als securityonderzoeker Man Yue Mo kan er met deze kwetsbaarheid externe code worden uitgevoerd op een server met een kwetsbare versie van Apache Struts. De aanval vindt plaats via een speciaal samengestelde URL die naar het kwetsbare systeem wordt gestuurd. In de meeste gevallen betekent dit dat er geen verificatie is vereist voordat de kwetsbaarheid kan worden misbruikt.
Als de aanval slaagt, wordt er code uitgevoerd in de beveiligingscontext van Struts. In sommige gevallen kan dit leiden tot volledige overname van het systeem.
Het is echter belangrijk om te onthouden dat de kwetsbaarheid niet kan worden misbruikt in standaardconfiguraties. De kwetsbaarheid ontstaat als een systeem aan de volgende voorwaarden voldoet:
De flag alwaysSelectFullNamespace is ingesteld op 'true' in de configuratie van Struts. (Opmerking: als uw applicatie de populaire Struts Convention-plugin gebruikt, wordt deze flag standaard op 'true' gezet door de plugin.
De Struts-applicatie gebruikt 'acties' die configureerbaar zijn zonder een namespace op te geven, of met een namespace met jokerteken. Deze voorwaarde geldt voor acties en namespaces die zijn opgegeven in het Struts-configuratiebestand. Opmerking: als uw applicatie de populaire Struts Convention-plugin gebruikt, geldt deze voorwaarde ook voor acties en namespaces die zijn opgegeven in de Java-code.
Als uw Struts-applicatie niet aan deze twee voorwaarden voldoet, kan uw applicatie nog steeds kwetsbaar zijn, maar kan die kwetsbaarheid (momenteel) niet worden misbruikt via CVE-2018-11776.
Met name het gebruik van de Struts Convention-plugin kan uw risico verhogen in vergelijking met Struts-implementaties waarbij die plugin niet wordt gebruikt.
Informatie over bedreigingsomgeving
De kwetsbaarheid is bekendgemaakt op 22 augustus, tegelijk met de beveiligingsupdates die het probleem verhelpen. Er is gedetailleerde informatie beschikbaar over de kwetsbaarheid en hoe die wordt misbruikt. Daarnaast is er al PoC-code (Proof of Concept) beschikbaar. Zoals hierboven vermeld werkt de PoC alleen bij systemen die kwetsbaar zijn en aan beide voorwaarden voor misbruik voldoen.
Drie dagen na de publicatie van de beveiligingsupdate en informatie over de kwetsbaarheid werd door sommigen opgemerkt dat vorig jaar een eerdere kritieke Struts-kwetsbaarheid actief werd aangevallen.
Er zijn op dit moment geen actieve aanvallen bekend en de vereiste dat aan twee niet-standaardvoorwaarden moet worden voldaan voordat de kwetsbaarheid kan worden misbruikt, zorgt voor een andere bedreigingsomgeving.
Nu er echter actieve PoC beschikbaar is, verwachten we dat er op zijn minst testaanvallen zullen worden gedaan of dat de kwetsbaarheid op korte termijn zal worden misbruikt.
Organisaties moeten hun risico-evaluaties primair focussen op mogelijke aanvallen, totdat ze duidelijkheid hebben over vier zaken:
- Wordt de Struts Convention-plugin gebruikt?
- Wordt er voldaan aan de voorwaarden voor misbruik van de kwetsbaarheid?
- Zijn er indicaties van aanvallen met de huidige PoC?
- Is er een nieuwe PoC of aanvalsmethode ontwikkeld waardoor de twee vereiste voorwaarden niet meer van toepassing zijn?
Richtlijnen en bescherming voor klanten van Palo Alto Networks
Alle organisaties met kwetsbare versies van Apache Struts moeten de beveiligingsupdates zo spoedig mogelijk installeren.
Organisaties kunnen en moeten de planning en installatie van de beveiligingsupdates baseren op hun beveiligingsbeleid en risico-evaluatie, en op de momenteel beschikbare informatie.
Klanten van Palo Alto Networks die de signatures voor kwetsbaarheden hebben geïnstalleerd die aanwezig waren in releaseversie 8057 van 24 augustus 2018, die ook ID 33948 Name: Apache Struts 2 Remote Code Execution Vulnerability omvatte, zijn beschermd tegen het momenteel bekende misbruik van deze kwetsbaarheid.
Onze klanten moeten nog steeds de hierboven genoemde aanbevolen beveiligingsupdate installeren, maar kunnen en moeten de laatste signature voor kwetsbaarheden ook zo snel mogelijk installeren voor aanvullende bescherming. Onze klanten kunnen en moeten deze aanvullende bescherming meenemen in hun besluitvorming over beveiliging, de installatie van beveiligingsupdates en hun risico-evaluaties van de kwetsbaarheid en bedreigingsomgeving.
Zoals altijd houden we de situatie nauwlettend in de gaten en publiceren we meer informatie zodra die bekend is.