Populära jQuery JavaScript-biblioteket påverkas av prototyp föroreningar fel

0
121
jQuery

Bild: jQuery-teamet

×

jquery-logo-blå.png

Tre år efter sin senaste större säkerhet bugg, jQuery JavaScript-biblioteket-som används på 74 procent av alla internet-webbplatser-har fått en annan säkerhet patch denna vecka.

Den här säkerhetsuppdateringen adresser en sällsynt sårbarhet-som kallas prototyp föroreningar– som säkerhet forskare är först nu börjar förstå och upptäcka mer och mer av JavaScript bibliotek.

Vad är prototypen föroreningar

Som namnet antyder, prototyp föroreningar hänvisar till en angripare möjlighet att modifiera ett JavaScript-objekt prototyp.

JavaScript-objekt är som variabler, men i stället för att lagra ett värde (var bil = “Fiat”), att de kan innehålla flera värden baserat på en fördefinierad struktur (var bil ={type:”Fiat”, modell:”500″, färg:”vit”}).

Prototyper definiera en JavaScript-objekt är som standard struktur och standardvärden, så ansök inte krascha när inga värden anges.

En angripare som lyckas ändra en JavaScript-objekt prototyp kan allvarligt påverka hur personuppgifter behandlas av resten av programmet, och att öppna dörren för fler farliga attacker, till exempel program kraschar (dos-sårbarhet buggar) eller ansökan kapar (kod brister).

Prototyp föroreningar, ett växande hot för JavaScript

Prototyp föroreningar attackerna är inte nya och har dokumenterats år sedan. Men, de är bara nu på att noggrant katalogiserade eftersom JavaScript, ett språk som har utvecklats från grundläggande hantering UI samverkan för att arbeta med imponerande mängder av känsliga uppgifter som en server-side-programmering language-tack vare den Node.js -projektet.

Alltså, någon prototyp föroreningar attack nu kan få allvarliga konsekvenser i en web-dev värld där nästan allt kretsar kring JavaScript på ett eller annat sätt, i desktop, mobil, webbläsare, eller en server-side-program.

Under det senaste året-och särskilt efter Olivier Arteau är NorthSec 2018 presentation om prototypen föroreningar attacker– säkerhet forskare har börjat titta mer noggrant på JavaScript-bibliotek som de har varit med och söka efter möjliga prototyp föroreningar buggar.

Dessa ansträngningar har resulterat i upptäckten av flera prototyp föroreningar attacker i mer och mer JavaScript-bibliotek som Mungo, lodash.sammanfoga, nod.förlänga, djupa-sträcka, och HAPI-några av dem mycket populära JavaScript för server-side-program.

Prototyp föroreningar i jQuery

Denna ständiga prat om prototypen föroreningar attacker har också uppmärksammat Snyk, ett företag som erbjuder källkoden scanning teknik, och vars forskare var intresserad av att dokumentera detta nya angrepp; Liran Tal, en Snyk säkerhetsforskare, har sagt till ZDNet i en intervju tidigare i veckan.

Deras analys av prototyp föroreningar attacker har resulterat i upptäckten av ett liknande fel som påverkar jQuery, ett JavaScript-bibliotek som är så allestädes närvarande och ingrodd i webbutveckling arbete som det används på 97 procent av alla webbplatser som använder minst ett JavaScript-bibliotek.

Att säga att jQuery är populära bland JavaScript-utvecklare är det detsamma som att säga “vatten är vått”, vilket innebär att någon prototyp föroreningar brister som upptäckts i detta bibliotek automatiskt öppnar dörrarna för attacker på hundratals miljoner webbplatser.

I en rapport som publicerades förra veckan, Tal och Snyk team som beskrivs och släppte proof of concept-koden för en prototyp föroreningar attack (CVE-2019-11358) påverkar jQuery. För att visa hur farlig denna sårbarhet är, de visade hur en prototyp föroreningar fel kan göra det möjligt för angripare att tilldela sig själva admin-rättigheter på en webb-app som använder jQuery koden för dess skal.

Inte lätt att utnyttja

Men den goda nyheten är att prototypen föroreningar attacker är inte mass-utnyttjas, eftersom varje exploit-kod måste finjusteras för varje mål, individuellt. Prototyp föroreningar brister kräva att angriparna har djup kunskap om hur varje webbplats fungerar med dess objekt prototyper, och hur dessa prototyper faktor i den stora tingens ordning.

Dessutom kan vissa webbplatser inte använda jQuery för alla tunga lyft, men bara för att animera några menyer och visa några popups, här och där.

“Hitta versioner av jQuery sårbarhet för denna bedrift är inte en svår uppgift, men att automatisera ett faktiskt utnyttjande för egen kod som använder sig av jQuery’ s utsatta API när det gäller att prototypen föroreningar skulle vara svårare,” Tal berättade ZDNet.

I tillägg, appar och hemsidor som bygger på sluten källkod finns också skyddas mot vissa attacker, Tal berättade för oss.

“Att utnyttja server-side stängd källkod, vilket inte är lätt att få tillgång till utredning, kräver en hel del forskning för att ta reda på hur förorenande ett globalt objekt omfattning skulle påverka en ansökan, om en prototyp föroreningar är tillämpliga på alla i sådana fall,” forskare.

Dock, i de fall där jQuery används för mer komplexa operationer, såsom byggnad full skal eller för att kommunicera med server-side system, prototyp föroreningar attacker som kan göra det möjligt för hackare en väg in i system som är säkra, en idealisk bugg för riktade attacker mot högt värde webbplatser.

En stor attack yta

Tal, som arbetat med Node.js team för att rapportera felet till jQuery-teamet rekommenderar att webbutvecklare uppdatera sina projekt till den senaste jQuery version, v3.4.0.

Idag är de flesta webbplatser använder fortfarande 1.x och 2.x grenar av jQuery biblioteket, vilket innebär att den stora majoriteten av jQuery-baserade appar och webbplatser som fortfarande är öppna för attacker.

jQuery versions

W3Techs

×

jquery-versioner.png

Med hänsyn till att det är några syntax brott mellan de tre stora versioner och som webbutvecklare skulle hellre kasta syra i ansiktet än att skriva om sina skal, de flesta webbplatser är skyldig att fortsätta att använda äldre versioner för överskådlig framtid.

Lyckligtvis, plåstret har anpassats till tidigare utgåvor.

Mer prototyp föroreningar attacker för att komma

Under tiden arbetar för att hitta och dokumentera mer prototyp föroreningar attacker fortsätter på Snyk.

Företaget sa att det är redan medvetna om mer än 20 prototyp föroreningar attacker redan, “som spänner över webbläsaren och Node.js ekosystem,” och förväntar sig att se mer.

Mer sårbarhet rapporter:

Dragonblood sårbarheter avslöjas i wi-fi trådlöst Lan WPA3 standardMobile app som används i Car2go bedrägeri system att stjäla 100 fordon
Kaspersky: 70 procent av de attacker som nu målet Office vulnerabilitiesInternet Explorer zero-day hackare kan stjäla filer från Windows PCsShopify API fel tillgång till intäkter data av tusentals storesMicrosoft förlorar kontrollen över Windows-Plattor subdomainKRACK attack: Här är hur företagen hanterar CNETTopp 10-app sårbarheter: Unpatched plugins och tillägg dominera TechRepublic

Relaterade Ämnen:

Öppen Källkod

Säkerhet-TV

Hantering Av Data

CXO

Datacenter