JavaScript-Bibliotheken mit bekannten Lücken
Lädt die Website JavaScript-Bibliotheken wie jQuery in Versionen mit bekannten Sicherheitslücken?
Was wir prüfen
Viele Websites verwenden fertige JavaScript-Bibliotheken: jQuery für Animationen und Formulare, Bootstrap für das Layout, Lodash, Moment.js, Slider- oder Lightbox-Skripte. Wir laden die Startseite in einem echten Browser und erkennen dabei, welche Bibliotheken in welcher Version laufen.
Diese gleichen wir mit der öffentlichen Datenbank des Projekts Retire.js ab, die bekannte Lücken pro Version sammelt. Im Bericht siehst Du jede betroffene Bibliothek mit der Anzahl bekannter Lücken und der Version, die alle schliesst.
Wir rufen dafür keine zusätzlichen Dateien auf dem Server ab. Die Version ist ein Hinweis: Nicht jede Bibliothek gibt ihre Version preis, und Bibliotheken, die nur auf Unterseiten laufen, sehen wir nicht.
Warum das wichtig ist
Die meisten Lücken in diesen Bibliotheken erlauben Cross-Site-Scripting: Ein Angreifer bringt die Seite dazu, fremden Code auszuführen. Dieser Code läuft im Browser der Besucher, mit allen Rechten der Website. Er kann Formulareingaben abgreifen, gefälschte Inhalte einblenden oder Besucher auf Betrugsseiten weiterleiten.
Ob eine Lücke tatsächlich ausnutzbar ist, hängt davon ab, wie die Website die Bibliothek verwendet. Eine sichere Aussage kann nur eine genaue Prüfung des Codes geben. Zwei Dinge sind aber klar:
- Angreifer suchen automatisiert nach Websites mit bekannten, verwundbaren Versionen.
- Bibliotheken, die viele Jahre alt sind, zeigen, dass die Website länger nicht technisch gepflegt wurde. Meist sind dann auch andere Teile veraltet.
So behebst Du es
Website mit CMS
Bei WordPress, Joomla oder TYPO3 kommen die Bibliotheken fast immer mit dem CMS selbst, dem Theme oder einem Plugin. Aktualisiere zuerst alle diese Komponenten. Bleibt die alte Version danach bestehen, finde mit der betreuenden Agentur heraus, welche Komponente sie mitbringt, und ersetze diese.
Individuell entwickelte Website
Bitte die betreuende Agentur, die genannten Bibliotheken auf die im Bericht angegebene Version oder neuer zu aktualisieren. Kleine Updates innerhalb einer Hauptversion, etwa von jQuery 3.4 auf 3.7, sind meist unproblematisch. Bei einem Wechsel der Hauptversion, etwa von jQuery 1 auf 3, muss man die Website danach gründlich testen.
Bibliotheken von fremden Servern
Lädt die Seite Bibliotheken von einem CDN wie cdnjs oder jsDelivr, steht die Version in der Adresse. Ändere dort die Versionsnummer und teste die Website.
Zusätzlicher Schutz
Eine Content-Security-Policy begrenzt den Schaden, falls doch Code eingeschleust wird. Mehr dazu im Artikel zu den Schutz-Einstellungen des Servers.
So prüfst Du es selbst
Öffne die Entwicklertools (F12), wechsle zur Konsole und tippe jQuery.fn.jquery. Ist jQuery geladen, erscheint die Versionsnummer. Die Browser-Erweiterung «Wappalyzer» zeigt alle erkannten Bibliotheken mit Version.
Häufige Fragen
Ist die Website gehackt, wenn hier eine Lücke gemeldet wird?
Nein. Eine bekannte Lücke bedeutet, dass ein Angriff möglich sein könnte, nicht dass er stattgefunden hat. Ob sie ausnutzbar ist, hängt davon ab, wie die Website die Bibliothek verwendet.
Warum lädt eine Website überhaupt eine alte jQuery-Version?
Oft bringt sie ein älteres Theme, ein Plugin oder ein eingebundener Dienst mit. Manche Themes laden absichtlich eine alte Version, damit ältere Skripte weiter funktionieren.
Jetzt eine Website prüfen
Wir prüfen «JavaScript-Bibliotheken mit bekannten Lücken» und alle anderen Punkte in wenigen Minuten, kostenlos und ohne Anmeldung.
Verwandte Themen
-
Veraltete Software
Läuft auf der Website Software, die keine Sicherheitsupdates mehr erhält?
-
WordPress-Plugins mit bekannten Lücken
Verwendet die WordPress-Website Plugins in Versionen mit öffentlich bekannten Sicherheitslücken?
-
Schutz-Einstellungen des Servers
Sendet der Webserver die wichtigsten Security-Header, und sind sie wirksam eingestellt?
-
Verschlüsselte Verbindung (HTTPS)
Wird die Website verschlüsselt ausgeliefert, und leitet die unverschlüsselte Adresse auf HTTPS weiter?