Zum Inhalt springen

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.