Populaire jQuery JavaScript-bibliotheek beïnvloed door een prototype van de verontreiniging fout

0
114
jQuery

Afbeelding: jQuery team

×

jquery-logo-blauw.png

Drie jaar na de laatste grote security bug, de jQuery JavaScript-bibliotheek-wordt gebruikt op 74 procent van alle internet sites– heeft ontvangen nog een security patch deze week.

Deze beveiligingsupdate verhelpt een zeldzame kwetsbaarheid –genoemd prototype vervuiling– dat beveiliging onderzoekers zijn nu pas begint te begrijpen en te ontdekken in meer en meer JavaScript bibliotheken.

Wat is het prototype van de verontreiniging

Zoals de naam al doet vermoeden, het prototype van de vervuiling verwijst naar een aanvaller de mogelijkheid om te wijzigen van een JavaScript-object prototype.

JavaScript-objecten zijn zoals variabelen, maar in plaats van het opslaan van een waarde (var auto = “Fiat”), ze kan meerdere waarden bevatten die op basis van een vooraf bepaalde structuur (var auto ={type:”Fiat”, model:”500″, kleur: wit}).

Prototypes het definiëren van een JavaScript-object standaard structuur en de standaard waarden, zodat applicaties niet crashen wanneer er geen waarden worden ingesteld.

Een aanvaller die erin slaagt om het wijzigen van een JavaScript-object prototype kan een significante impact hebben op hoe de gegevens worden verwerkt door de rest van de applicatie, en de deur openen voor meer gevaarlijke aanvallen, zoals de toepassing vastloopt (ontkenning van kwetsbaarheid bugs) of toepassing kaapt (code gebreken).

Prototype van de verontreiniging, een groeiende bedreiging voor JavaScript

Prototype vervuiling aanvallen zijn niet nieuw en hebben voor het eerst gedocumenteerd jaar geleden. Echter, ze zijn alleen nu grondig gecatalogiseerd omdat JavaScript, als een taal, is voortgekomen uit de afhandeling basic UI interacties te werken met indrukwekkende hoeveelheden gevoelige data als een server-side programmeertaal –dankzij de Node.js -project.

Vandaar, een prototype van de verontreiniging aanval nu kan ernstige gevolgen hebben in een web-dev wereld waar bijna alles draait om JavaScript in de een of andere manier, voor desktop, mobiel, browser, of server-side applicaties.

Het afgelopen jaar –en vooral na Olivier Arteau de NorthSec 2018 presentatie over het prototype van de verontreiniging aanvallen– security onderzoekers zijn begonnen kijkt naar de JavaScript libraries ze hebben met behulp van en het zoeken naar mogelijke prototype vervuiling bugs.

Deze inspanningen hebben geresulteerd in de ontdekking van meerdere prototype vervuiling aanslagen in meer en meer JavaScript bibliotheken, zoals de Mongoes, lodash.samenvoegen, knooppunt.verlengen, diep uit te breiden, en HAPI-sommigen van hen zijn zeer populair voor JavaScript server-side apps.

Prototype vervuiling in jQuery

Deze constante geklets over het prototype van de verontreiniging aanvallen heeft ook de aandacht van Snyk, een bedrijf dat voorziet in de bron-code scanning technologie, en waarvan de onderzoekers waren geïnteresseerd in het documenteren van deze nieuwe aanval; Liran Tal, een Snyk security-onderzoeker, heeft verteld ZDNet in een interview eerder deze week.

Hun analyse van de prototype vervuiling aanvallen heeft geresulteerd in de ontdekking van een soortgelijke fout van invloed jQuery, een JavaScript-bibliotheek die is zo alomtegenwoordig en worden ingebakken in de ontwikkeling van het web werk dat het wordt gebruikt op 97 procent van alle websites die gebruik maken van ten minste een JavaScript-bibliotheek.

Om te zeggen dat jQuery is populair onder de JavaScript-ontwikkelaars is het equivalent van zeggen: “water is nat”, wat betekent dat een prototype van de verontreiniging fouten ontdekt in deze bibliotheek wordt automatisch geopend in de deuren voor aanvallen op honderden miljoenen websites.

In een rapport publiceerde vorige week, Tal en de Snyk team beschreven en uitgebracht proof-of-concept code voor een prototype van een verontreiniging aanval (CVE-2019-11358) invloed op jQuery. Om te laten zien hoe gevaarlijk deze kwetsbaarheid is, dat ze lieten zien hoe een prototype van de verontreiniging kan een fout aanvallers aan zichzelf toewijzen admin rechten op een web-app die gebruik maakt van jQuery code voor de frontend.

Niet gemakkelijk te exploiteren

Maar het goede nieuws is dat het prototype van de verontreiniging aanvallen worden niet in massa worden misbruikt, zoals elke exploit code moet afgestemd worden voor elk doel afzonderlijk. Prototype vervuiling gebreken vereisen dat aanvallers hebben een grondige kennis van hoe een website werkt met het object prototypes, en hoe deze prototypes factor in het grote schema van de dingen.

Bovendien, sommige websites geen gebruik van jQuery voor zwaar hijswerk, maar zijn louter ter animatie van een paar menu ‘ s en pop-ups hier en daar.

“Het vinden van de versies van de jQuery kwetsbaarheid voor deze exploit is niet een moeilijke taak, maar het automatiseren van een werkelijke exploitatie voor aangepaste code die gebruik maakt van jQuery kwetsbaar API met betrekking tot het prototype van de verontreiniging zou worden moeilijker,” Tal vertelde ZDNet.

Bovendien, apps en websites die afhankelijk zijn van closed source code zijn ook beschermd tegen bepaalde aanvallen, Tal verteld.

“Het exploiteren van server-side closed source code, die is niet makkelijk om toegang te krijgen voor onderzoek, vereist een eerlijke beetje van het onderzoek om uit te vinden hoe vervuilend een globale object-toepassingsgebied van invloed zou zijn op een verzoek, als prototype van de verontreiniging van toepassing is op alle in dergelijke gevallen,” de onderzoeker zei.

Niettemin, in de gevallen waar jQuery wordt gebruikt voor de meer complexe operaties, zoals het bouwen van volledige frontend of de interactie met server-side systemen, het prototype van de vervuiling aanvallen kunnen hackers een manier in systemen beschouwd als veilig zijn –een ideale bug voor gerichte aanvallen tegen de hoogwaardige websites.

Een enorme aanval oppervlak

Tal, die werkte met het Node.js team melden van een bug op de jQuery-team raadt aan dat web ontwikkelaars hun projecten naar de nieuwste jQuery versie v3.4.0.

Tegenwoordig zijn de meeste websites nog steeds gebruik van de 1.x en 2.x takken van de jQuery library, wat betekent dat de overgrote meerderheid van de jQuery-gebaseerde apps en websites zijn nog steeds open voor aanvallen.

jQuery versions

W3Techs

×

jquery-versies.png

Rekening houdend dat er een aantal syntaxis breuk tussen de drie grote versies en web ontwikkelaars liever gooien zuur in hun gezicht dan opnieuw met het schrijven van hun frontend, de meeste websites zijn voorbestemd om te blijven en gebruik maken van oudere versies voor de nabije toekomst.

Gelukkig, de patch is teruggeplaatst naar de vorige versies.

Meer prototype vervuiling aanvallen te komen

In de tussentijd, om het werk te vinden en te documenteren meer prototype vervuiling aanvallen blijft op Snyk.

Het bedrijf zei dat het ‘ s al op de hoogte van meer dan 20 prototype vervuiling aanvallen al, “spanning over de browser en Node.js ecosystemen,” en verwacht meer te zien.

Meer kwetsbaarheid rapporten:

Dragonblood kwetsbaarheden bekend gemaakt in WiFi WPA3 standardMobile app gebruikt in Car2go fraude regeling te stelen 100 voertuigen
Kaspersky: 70 procent van de aanvallen nu doel van Office vulnerabilitiesInternet Explorer zero-day laat hackers stelen van bestanden van Windows PCsShopify API fout krijgen toegang tot de omzet gegevens van duizenden storesMicrosoft verliest de controle over Windows Tegels subdomainKRACK aanval: Hier is hoe bedrijven reageren CNETTop 10 app kwetsbaarheden: Ongepatchte plug-ins en extensies domineren TechRepublic

Verwante Onderwerpen:

Open Source

Beveiliging TV

Data Management

CXO

Datacenters