Populære jQuery JavaScript-biblioteket, der er ramt af prototype forurening fejl

0
195
jQuery

Billede: jQuery team

×

jquery-logo-blå.png

Tre år efter sin sidste store sikkerhed fejl, jQuery JavaScript-biblioteket –bruges på 74 procent af alle websteder på internettet-har modtaget endnu en sikkerhedsrettelse i denne uge.

Denne sikkerhedsopdatering løser en sjælden svaghed –kaldet prototype forurening– at sikkerheden forskere er først nu begyndt at forstå og opleve mere og mere JavaScript biblioteker.

Hvad er prototype forurening

Som navnet antyder, en prototype forurening, der refererer til en hacker mulighed for at ændre et JavaScript-objekt ‘ s prototype.

JavaScript objekter, som er variable, men i stedet for at gemme én værdi (var-bil = “Fiat”), de kan indeholde flere værdier baseret på en foruddefineret struktur (var bil ={type:”Fiat”, model:”500″, color:”hvid”}).

Prototyper definere et JavaScript-objekt ‘ s standard struktur og standard værdier, så programmer, der ikke går ned, når der ikke er nogen værdier er indstillet.

En hacker, der formår at ændre et JavaScript objekt prototype kan alvorligt påvirke hvordan data behandles af resten af programmet, og åbne døren til flere farlige angreb, såsom program går ned (denial of sårbarhed fejl) eller anvendelse kaprer (kode fejl).

Prototype forurening, en voksende trussel mod JavaScript

Prototype forurening angreb er ikke ny, og har først været dokumenteret år siden. Men de er først nu ved at blive grundigt katalogiseret fordi JavaScript, som et sprog, der har udviklet sig fra at håndtere grundlæggende UI interaktioner til at arbejde med imponerende mængder af følsomme data som et server-side programmeringssprog, –tak til Node.js -projektet.

Derfor, nogen prototype forurening angreb nu kan have alvorlige konsekvenser i en web-dev verden, hvor næsten alt drejer sig om JavaScript på én eller anden måde, i desktop -, mobil -, browser eller et server-side applikationer.

I løbet af de seneste år-og især efter Olivier Arteau er NorthSec 2018 præsentation af prototype forurening angreb– sikkerhed forskere er begyndt at kigge nærmere på JavaScript-biblioteker, de har brugt, og for at finde mulige prototype forurening fejl.

Disse bestræbelser har resulteret i opdagelsen af flere prototype forurening angreb i mere og mere JavaScript biblioteker som Desmerdyr, lodash.flet, node.udvide, dybt-at udvide, og HAPI-nogle af dem meget populære for JavaScript server-side apps.

Prototype forurening i jQuery

Denne konstante snak om prototype forurening angreb har også gjort opmærksom på Snyk, en virksomhed, der giver kildekode scanning teknologi, og hvis forskerne var interesseret i at dokumentere dette nye angreb; Liran Tal, Cavi, sikkerhedsekspert, har fortalt ZDNet i et interview tidligere i denne uge.

Deres analyse af prototype forurening angreb har resulteret i opdagelsen af en lignende fejl, der påvirker jQuery er et JavaScript bibliotek, der er så allestedsnærværende og indgroet i web-udvikling, arbejde for, at det anvendes på 97 procent af alle websteder, der bruger mindst et JavaScript bibliotek.

At sige, at jQuery er populære blandt JavaScript udviklere svarer til at sige “vand er vådt”, som betyder, at prototype forurening fejl opdaget i dette bibliotek automatisk åbner dørene for angreb på hundredvis af millioner af hjemmesider.

I en rapport offentliggjort i sidste uge, Tal og Snyk team, der er beskrevet og udgivet proof of concept-kode for en prototype forurening angreb (CVE-2019-11358) påvirker jQuery. For at vise, hvor farlig denne svaghed er, at de viste, hvordan en prototype forurening fejl kunne gøre det muligt for angribere at tildele sig selv admin rettigheder på en web-app, der bruger jQuery kode for sin frontend.

Ikke let at udnytte

Men den gode nyhed er, at prototypen forurening angreb er ikke masse-udnyttelige, som hver exploit-kode, skal finjusteres for hvert mål, individuelt. Prototype forurening fejl kræver, at angriberne har dybdegående viden om, hvordan hver enkelt hjemmeside, arbejder med sit objekt prototyper, og hvordan disse prototyper faktor i grand ordningen af ting.

Endvidere, at nogle websteder ikke bruger jQuery til nogen tunge løft, men blot at animere et par menuer og vise nogle popups, her og der.

“At finde versioner af jQuery svaghed for denne udnyttelse er ikke en hård opgave, men at automatisere en egentlig udnyttelse for, at brugerdefineret kode, der gør brug af jQuery API’ sårbare med hensyn til prototype forurening ville være mere vanskeligt,” Tal fortalte ZDNet.

Hertil kommer, apps og websteder, der er afhængige af lukket kildekode er også sikret mod nogle angreb, Tal fortalt os.

“Udnyttelse af server-side lukket kildekode, som ikke er let at få adgang til undersøgelse, kræver en retfærdig bit af forskning for at finde ud af, hvordan forurenende en global objekt omfang ville påvirke en ansøgning, hvis prototype forurening, der er gældende i sådanne tilfælde,” forskeren sagde.

Ikke desto mindre, i tilfælde, hvor jQuery bruges til mere komplekse operationer, såsom bygning fuld frontends eller interagere med server-side-systemer, prototype forurening angreb kan give hackere en vej ind i systemer, der betragtes som sikre –en ideel bug for målrettede angreb mod høj-værdi hjemmesider.

Et stort angreb overflade

Tal, der arbejdede med det Node.js team til at rapportere fejl til jQuery team, anbefaler, at web-udviklere at opdatere deres projekter at de seneste jQuery version, v3.4.0.

I dag er de fleste websites er stadig i brug den 1.x og 2.x grene af jQuery bibliotek, hvilket betyder, at det store flertal af jQuery-baseret apps og websites er stadig åben for angreb.

jQuery versions

W3Techs

×

jquery-versioner.png

Under hensyntagen til, at der er nogle syntaks brud mellem de tre store versioner, og at web-udviklere vil hellere smide syre på deres ansigt end at re-skrive deres oversættelser, at de fleste hjemmesider er forpligtet til at fortsætte med at bruge ældre versioner for en overskuelig fremtid.

Heldigvis plasteret er blevet tilbageført til tidligere udgivelser.

Mere prototype forurening angreb til at komme

I mellemtiden er arbejdet med at finde og dokumentere mere prototype forurening angreb fortsætter på Cavi.

Selskabet sagde, at det allerede er klar over mere end 20 prototype forurening angreb, der allerede er, “spænder på tværs af browser og Node.js økosystemer,” og forventer at se mere.

Mere sårbarhed rapporter:

Dragonblood sårbarheder offentliggjort i WiFi WPA3 standardMobile app, der bruges i Car2go bedrageri for at stjæle 100 køretøjer
Kaspersky: 70 procent af angreb nu målrette Kontor vulnerabilitiesInternet Explorer nul-dag lader hackere stjæler filer fra Windows PCsShopify API fejl, der tilbydes adgang til de indtægter, data af tusindvis af storesMicrosoft mister kontrollen over Vinduer, Fliser subdomainKRACK angreb: Her er hvordan virksomheder reagerer CNETTop 10 app sårbarheder: Unpatched plugins og udvidelser dominere TechRepublic

Relaterede Emner:

Open Source

Sikkerhed-TV

Data Management

CXO

Datacentre