In het webframework Apache Struts, dat wordt gebruikt voor het maken van webapplicaties in Java met de MVC-paradigma (Model-View-Controller), is een kwetsbaarheid ontdekt (CVE-2024-53677). Deze kwetsbaarheid stelt een externe aanvaller in staat om een bestand op een willekeurige locatie in het bestandssysteem van de server te schrijven door het indienen van een speciaal opgestelde HTTP-aanroep. Het probleem heeft betrekking op versies van 2.0.0 tot 2.3.37, van 2.5.0 tot 2.5.33 en van 6.0.0 tot 6.3.0.2, en doet zich voor in applicaties die de FileUploadInterceptor-component gebruiken voor het uploaden van bestanden naar de server.
De kwetsbaarheid is veroorzaakt door een gebrek aan adequate verificatie van de parameters die tijdens bestandsuploads worden doorgegeven. Wanneer er toegang is tot de uploadfuncties in de op Apache Struts gebaseerde webinterface, kan de aanvaller een waarde opgeven zoals ā..\/..\/..\/..\/..\/webapps\/ROOTā en zo een bestand opslaan buiten de directory voor opgeslagen gegevens (prototype van de exploit). Door de mogelijkheid om bestanden te schrijven naar willekeurige delen van het bestandssysteem, kan men de uitvoering van eigen commando's op de server, scripts of configuratiebestanden overschrijven, afhankelijk van de machtigingen van de gebruiker waaronder de webapplicatie draait. Als de webapplicatie draait in een Apache Tomcat-container die met root-rechten wordt uitgevoerd, kan de aanvaller geprivilegieerde toegang tot het systeem krijgen.
Kwetsbaarheden in Apache Struts zijn van belang, aangezien dit framework populair is in bedrijfsystemen die via het web toegankelijk zijn. Volgens statistieken van RedMonk werd het Apache Struts-framework gebruikt in webapplicaties van 65% van de bedrijven in de Fortune 100-lijst. In 2017 leidde een aanval op het informatiesysteem van het bedrijf Equifax, dat een kwetsbare versie van Apache Struts gebruikte, tot een lek van persoonsgegevens van 143 miljoen inwoners van de VS.
Bron: opennet.ru
