Skip to main content

In this article

84 % aller Websites sind von jQuery-XSS-Schwachstellen betroffen

Artikel von
JavaScript Report feature

30. Oktober 2019

0 Min. Lesezeit

Willkommen zum Snyk-Bericht 2019 zur Sicherheit von JavaScript-Frameworks. In diesem Blogbeitrag sehen wir uns Sicherheitslücken in weiteren Projekten des Frontend-Ökosystems an.

Nachdem wir Angular und React als wichtige JavaScript-Frameworks betrachtet haben, werfen wir einen kurzen Blick auf ausgewählte JavaScript- und CSS-Frameworks: Vue.js, jQuery und Bootstrap.

Laden Sie hier den Bericht herunter!

jQuery-Sicherheit

jQuery revolutionierte vor einem Jahrzehnt die Webentwicklung. Seitdem hat sie sich durch Single-Page-Application-Technologien wie Angular und React weiterentwickelt. Laut W3Techs, das regelmäßig Umfragen zur Nutzung von Webtechnologien durchführt und darüber berichtet, kommt jQuery dennoch auf 73 % der im August 2019 untersuchten Websites.

Eine Snyk-Studie aus dem Jahr 2017 unterstreicht dies: Sie ergab, dass 77 % der Websites mindestens eine anfällige JavaScript-Bibliothek verwenden, und stellte fest, dass jQuery auf 79 % der 5.000 meistbesuchten URLs laut Alexa erkannt wurde. Falls Sie noch nicht überzeugt sind: Das npm-Modul jQuery wurde allein in den letzten zwölf Monaten 120.641.977-mal heruntergeladen.

Insgesamt haben wir sechs Sicherheitslücken erfasst, die jQuery in allen bisher veröffentlichten Versionen betreffen. Vier davon sind mittelschwere Cross-Site-Scripting-Schwachstellen, eine ist eine mittelschwere Prototype-Pollution-Schwachstelle und eine weitere eine DoS-Schwachstelle mit niedrigem Schweregrad. Wenn Sie nicht jQuery 3.4.0 oder höher verwenden, das erst kürzlich am 10. April 2019 veröffentlicht wurde, nutzen Sie eine anfällige jQuery-Version.

Ringdiagramm mit der Anzahl der jQuery-Sicherheitslücken nach Version: 54 % bei jQuery 1.x, 17 % bei 2.x und 29 % bei 3.x.

Da jQuery in Webanwendungen häufig als Legacy-Komponente vorkommt, ist es wichtig, auch die Verteilung der verwendeten Versionen und deren Sicherheitsstatus zu kennen.

W3Techs berichtet, dass unter allen Websites mit jQuery die Version 1.x mit einem Anteil von 83,4 % dominiert. Version 2 und 3 liegen mit jeweils rund 8 % der gesamten jQuery-Nutzung weit zurück. Als wir die bekannten Sicherheitslücken den jQuery-Versionen zuordneten, stellten wir fest, dass vier mittelschwere Cross-Site-Scripting-Schwachstellen jQuery v1 betreffen. Angesichts des Marktanteils von 83,4 % ist das besonders besorgniserregend für alle, die keine Software Composition Analysis einsetzen, um Schwachstellen in ihren Open-Source-Komponenten zu finden und zu beheben.

Viele Websites und Webanwendungen nutzen zudem jQuery-Bibliotheken, um die Funktionalität von jQuery zu erweitern, und greifen dafür auf Community-Bibliotheken zurück.

Wir haben 13 anfällige jQuery-Bibliotheken gefunden, die in der folgenden Tabelle aufgeführt sind. Dabei sind uns folgende Punkte aufgefallen:

  • Drei jQuery-Bibliotheken sind schädliche Versionen von Open-Source-Modulen aus der Community. Da sich die Downloads der tatsächlich anfälligen Versionen nicht ermitteln lassen – diese Information ist in der npm-Registry nicht verfügbar –, möchten wir auf jquery.js hinweisen: Dieses schädliche Paket wurde in den vergangenen zwölf Monaten 5.444-mal heruntergeladen.

  • Die jQuery-Bibliotheken jquery-mobile, jquery-file-upload und jquery-colorbox kommen in den vergangenen zwölf Monaten zusammen auf mehr als 340.000 Downloads, obwohl sie Sicherheitslücken zur beliebigen Codeausführung und Cross-Site-Scripting-Schwachstellen enthalten und keine Möglichkeit zur Aktualisierung bieten, mit der sich diese beheben ließen.

Name der jQuery-Bibliothek

Art der Sicherheitslücke

Offenlegungsdatum

Schweregrad der Sicherheitslücke

Jährliche Modul-Downloads

Behebung verfügbar?

Schädliches Paket

2019-08-06

hoch

322

k. A.

Cross-Site-Scripting

2019-07-03

mittel

17,898

✅

Schädliches Paket

2019-06-07

hoch

232

k. A.

Cross-Site-Scripting

2019-05-04

mittel

54,991

❌

Beliebige Codeausführung

2018-11-02

niedrig

19,442

❌

Cross-Site-Scripting

2018-08-19

mittel

79,982

✅

Denial-of-Service-Angriff durch reguläre Ausdrücke (ReDoS)

2018-02-13

hoch

3,069

✅

Cross-Site-Scripting

2017-11-14

mittel

268,513

❌

Schädliches Paket

2017-08-02

hoch

5,444

k. A.

Cross-Site-Scripting

2016-07-21

hoch

8,934,683

✅

Cross-Site-Request-Forgery (CSRF)

2015-06-24

mittel

5,763,710

✅

Cross-Site-Scripting

2013-04-18

mittel

1,831,735

✅

Cross-Site-Request-Forgery (CSRF)

2012-11-26

mittel

8,934,683

✅

Cross-Site-Scripting

2012-08-01

mittel

54,991

✅

Cross-Site-Scripting

2010-09-02

mittel

8,934,683

✅

*Für schädliche Pakete liegen keine Informationen zu verfügbaren Behebungen vor.


Laden Sie hier den Bericht herunter

Wir empfehlen dringend, die vollständige Version des Berichts im digitalen Format herunterzuladen. Die folgenden allgemeinen Abschnitte stellen wir Ihnen außerdem als Blogbeiträge zur Verfügung:

Starten Sie mit Capture the Flag

Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.