Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

PC & Internet cdnjs: Sicherheitslücke ermöglichte Codeausführung bei Cloudflare

Der
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
hat kürzlich eine Remote Code Execution, kurz RCE, bei cdnjs von Cloudflare entdeckt. Ein Angreifer hätte damit beliebiges JavaScript in
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
der Webseiten im Internet einschleusen können.

Was ist cdnjs beziehungsweise ein CDN?​

Bei cdnjs handelt es sich um ein sogenanntes Content Delivery Network (CDN) für JavaScript und CSS, welches von Cloudflare bereitgestellt wird. Ein CDN erlaubt es Dateien, anstatt auf der eigenen Webseite, zentral beim CDN-Anbieter zu hinterlegen. Nutzen nun mehrere Webseiten die gleichen Ressourcen, müssen diese vom Browser nicht mehr auf jeder einzelnen Webseite heruntergeladen werden.

Auswirkungen und Gegenmaßnahmen​

Dies bedeutet, dass ein Angreifer, der die Dateien auf dem CDN austauschen könnte, sehr einfach Schadsoftware auf Webseiten weltweit unterbringen kann. Um das zu verhindern, kann man mithilfe von
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
einen Hash beim Einbinden in die eigene Webseite mitgeben. Das erlaubt dem Browser zu verifizieren, dass die Ressource nicht von einem Dritten verändert wurde.
Es wird daher immer empfohlen die SRI beim Einbinden von CDNs zu verwenden. Am besten gleicht man den Hash der CDN-Ressourcen mit dem der Originale ab, um sicherzustellen, dass es sich um ein unverändertes Original handelt.
Die oben genannte Lücke wäre also nur bei den Webseiten ausnutzbar gewesen, die auf SRI verzichtet hatten oder nach Manipulation eine CDN-Ressource ohne Abgleich des Hashs verwenden.


Path Traversal Lücke in Autoupdate-Modul von cdnjs​

Du musst dich Anmelden oder Registrieren um diesen link zusehen!
oder auch genannt
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
erlaubt es auf Dateien zuzugreifen, die eigentlich nicht von der betroffenen Anwendung zugreifbar sein sollten. Filtert die Anwendung beispielsweise die Eingabe „../“ nicht, kann ein Angreifer auf beliebige übergeordnete Verzeichnisse zugreifen.
Genau eine solche Lücke hat RyotaK im Autoupdate-Modul von cdnjs auf GitHub gefunden. Dies hätte ihm erlaubt, ein beliebiges Script hochzuladen und im Kontext von cdnjs auszuführen.

Weitere Lücke mit Git-Symlinks entdeckt​

Als RyotaK sich Gedanken machte, wie er die Path Traversal Lücke aufbereiten sollte, um sie bei HackerOne einzureichen, kam er auf eine andere Idee. Cdnjs erlaubt auch automatische Updates für CDN-Ressourcen, die man über Git einspielt.
Dort konnte er beim Durchstöbern des Quellcodes erkennen, dass das Script nicht auf die in Git erlaubten
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
prüft. Dies erlaubt es eine Datei nur transparent zu verlinken. Das ermöglicht den Zugriff auf eine Datei unter /home/user/text.txt, die eigentlich unter /mnt/hdd1/geheim.txtliegt. Damit ist wiederum ein
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
möglich.

Aus Versehen API-Schlüssel veröffentlicht​

RyotaK wollte eigentlich einen Symlink auf /proc/self/maps setzen. Aus Versehen verlinkte er aber auf /proc/self/environ und veröffentlichte so unabsichtlich die API-Keys GITHUB_REPO_API_KEY und WORKERS_KV_API_TOKEN. Damit hätte ein Angreifer vollen Zugriff auf die GitHub Repositorys von cdnjs.
Um den möglichen Schaden zu begrenzen, wollte er das Problem umgehend bei GitHub melden, damit die API-Schlüssel schnell gesperrt werden können. Doch scheinbar wurde das IT-Security-Team von GitHub schon vorher darauf aufmerksam. Man meldete den Vorfall umgehend an Cloudflare, die die API-Keys scheinbar auch umgehend gesperrt hatten.

Lesen Sie auch
My Book Live: Böswillige Angreifer löschen massenweise Daten von WD-NAS

Bug Bountys sind lohnenswert​

Da Cloudflare über HackerOne ein Bug Bounty Programm anbietet, wollte RyotaK die Sicherheitslücke den Regeln entsprechend aufbereiten. Durch den oben beschrieben Vorfall wurde das IT-Security-Team von GitHub auf die Lücke aufmerksam. Ob er am Ende ein Dankeschön von Cloudflare erhalten hat, ist unbekannt.
Es ist trotzdem immer lohnenswert bei entdeckten Sicherheitslücken einmal zu prüfen, ob das „Opfer“ ein solches Programm offeriert, wie es viele große Firmen wie
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
, Facebook, Microsoft oder Sony auch tun.
Tarnkappe.info
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…