Apache Cordova-appharnas gericht op afhankelijkheidsverwarringsaanval

Onderzoekers hebben een kwetsbaarheid voor afhankelijkheidsverwarring geïdentificeerd die van invloed is op een gearchiveerd Apache-project genaamd Cordova App-harnas.

Afhankelijkheidsverwarringsaanvallen vinden plaats vanwege het feit dat pakketbeheerders de openbare opslagplaatsen controleren vóór de particuliere registers, waardoor een bedreigingsacteur een kwaadaardig pakket met dezelfde naam naar een openbare pakketopslagplaats kan publiceren.

Dit zorgt ervoor dat de pakketbeheerder onbedoeld het frauduleuze pakket downloadt uit de openbare opslagplaats in plaats van uit de beoogde privéopslagplaats. Als dit lukt, kan dit ernstige gevolgen hebben, zoals het installeren van alle downstream-klanten die het pakket installeren.

Cyberbeveiliging

Uit een analyse uit mei 2023 van npm- en PyPI-pakketten die zijn opgeslagen in cloudomgevingen door cloudbeveiligingsbedrijf Orca bleek dat bijna 49% van de organisaties kwetsbaar is voor een aanval op afhankelijkheidsverwarring.

Terwijl npm en andere pakketbeheerders sindsdien oplossingen hebben geïntroduceerd om prioriteit te geven aan de privéversies, zei applicatiebeveiligingsbedrijf Legit Security dat het het Cordova App Harness-project had gevonden om te verwijzen naar een interne afhankelijkheid genaamd cordova-harness-client zonder een relatief bestandspad.

Het open-sourceinitiatief is per 18 april 2019 stopgezet door de Apache Software Foundation (ASF).

Zoals Legit Security aantoonde, zette dit de deur wijd open voor een supply chain-aanval door een kwaadaardige versie onder dezelfde naam met een hoger versienummer te uploaden, waardoor npm de nepversie uit het openbare register ophaalde.

Afhankelijkheidsverwarringsaanval

Omdat het neppakket meer dan 100 keer is gedownload nadat het naar npm is geüpload, geeft dit aan dat het gearchiveerde project nog steeds wordt gebruikt, wat waarschijnlijk ernstige risico's voor de gebruikers met zich meebrengt.

In een hypothetisch aanvalsscenario zou een aanvaller de bibliotheek kunnen kapen om kwaadaardige code door te geven die tijdens de installatie van het pakket op de doelhost kan worden uitgevoerd.

Cyberbeveiliging

Het Apache-beveiligingsteam heeft het probleem sindsdien aangepakt door eigenaar te worden van het cordova-harness-client-pakket. Het is vermeldenswaard dat organisaties wordt geadviseerd om openbare pakketten als tijdelijke aanduidingen te maken om aanvallen op afhankelijkheidsverwarring te voorkomen.

“Deze ontdekking benadrukt de noodzaak om projecten en afhankelijkheden van derden te beschouwen als potentiële zwakke schakels in de softwareontwikkelingsfabriek, vooral gearchiveerde open-sourceprojecten die mogelijk geen regelmatige updates of beveiligingspatches ontvangen”, aldus beveiligingsonderzoeker Ofek Haviv.

“Hoewel het misschien verleidelijk lijkt om ze te laten zoals ze zijn, hebben deze projecten vaak kwetsbaarheden die geen aandacht krijgen en die waarschijnlijk ook niet zullen worden opgelost.”

Thijs Van der Does