84 % aller Websites sind von jQuery-XSS-Schwachstellen betroffen
30. Oktober 2019
0 Min. LesezeitWillkommen 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.

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:
Direkter Vergleich der Sicherheitslücken in Angular und React 2019
Angular vs. React: Das Sicherheitsrisiko indirekter Abhängigkeiten
Vergleich der sicheren Programmierpraktiken von React und Angular
jQuery-XSS-Sicherheitslücken betreffen 84 % aller Websites
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.
