Kritische Sicherheitslücke in Node.js-Bibliothek: Bedrohung für tausende Projekte

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Kritische Sicherheitslücke in einer beliebten JavaScript (Node.js)-Bibliothek: Was Entwickler wissen müssen



In der Welt der Webentwicklung ereignete sich ein Vorfall, der tausende Projekte betraf. Sicherheitsforscher entdeckten eine kritische Sicherheitslücke in der Bibliothek polyfill-service (Paket node-polyfill-service auf npm), die häufig verwendet wird, um moderne JavaScript-Funktionen in älteren Laufzeitumgebungen zu unterstützen. Das Problem erhielt die Kennung CVE-2024-38526 und eine Bewertung von 9,8 von 10 auf der CVSS-Skala – dies ist die höchste Gefahrenstufe für Remote-Angriffe.



Kern des Problems

Die Sicherheitslücke hängt mit der fehlerhaften Verarbeitung von Eingabedaten in der Funktion zusammen, die für das dynamische Laden von Polyfills verantwortlich ist. Ein Angreifer kann eine speziell gestaltete HTTP-Anfrage senden, die zur Ausführung von beliebigem JavaScript-Code auf dem Server führt. Dies öffnet den Weg zur vollständigen Kompromittierung der Anwendung: vom Datendiebstahl bis zur Installation von Backdoors.



Wie es funktioniert

  • Angriffsvektor: Die Sicherheitslücke befindet sich im Caching-Mechanismus der Polyfills. Bei der Übergabe eines ungültigen Parameters features führt die Bibliothek die gefährliche Operation eval() aus.
  • Ausnutzung: Für einen Angriff reicht es aus, eine POST-Anfrage mit einem Payload im Body zu senden. Beispiel für vereinfachten Exploit-Code:


const payload = 'require("child_process").execSync("rm -rf /")';fetch('/polyfill?features=' + encodeURIComponent(payload));


Unter realen Bedingungen verwenden Angreifer ausgefeiltere Methoden wie das Einschleusen von Reverse Shells oder Ransomware.



Wen betrifft es

Die Sicherheitslücke betrifft alle Versionen von node-polyfill-service vor 1.4.3. Die Bibliothek wird verwendet in:

  • Frameworks für serverseitiges Rendering (Next.js, Nuxt.js);
  • Build-Tools (Webpack, Vite);
  • Content-Management-Systemen auf Node.js.


Was Sie jetzt tun sollten

  • Aktualisieren Sie die Bibliothek auf Version 1.4.4 oder höher: npm update node-polyfill-service;
  • Überprüfen Sie die Abhängigkeiten in Ihrer package-lock.json auf die verwundbare Version;
  • Nutzen Sie Sicherheitsanalysetools — npm audit oder Snyk zur automatischen Suche nach Sicherheitslücken;
  • Beschränken Sie eingehende Anfragen über eine WAF (Web Application Firewall) auf Infrastrukturebene.


Schlussfolgerungen für Entwickler

Dieser Vorfall erinnert an die kritische Bedeutung regelmäßiger Abhängigkeitsaudits. Selbst eine kleine Bibliothek mit hunderttausenden Downloads pro Woche kann zur Quelle einer ernsthaften Bedrohung werden. Wir empfehlen, automatische Benachrichtigungen über neue CVEs über die GitHub Advisory Database einzurichten und Updates vor dem Deployment stets in einer isolierten Umgebung zu testen.



Wichtig: Wenn Sie polyfill-service in der Produktion verwenden, überprüfen Sie sofort die Version. Eine Verzögerung beim Update kann die Sicherheit Ihres Projekts gefährden.

Empfohlene Bibliotheken