zurück zum Artikel

Node.js: Sicherheitsupdates beheben Codeschmuggel und Serverabstürze

Dr. Christopher Kunz

(Bild: Trismegist san/Shutterstock.com)

Neben Problemen im Kern des Projekts aktualisiert das Node-Projekt auch einige externe Bibliotheken.

Die Javascript-Laufzeitumgebung Node.js behebt in einem Update einige Sicherheitslücken mit teilweise großem Schadenspotential. So finden sich in den möglichen Auswirkungen nicht nur die Ausweitung von Privilegien und unbefugte Code-Ausführung, sondern auch Möglichkeiten für Angreifer, Node-basierte Dienste zum Absturz zu bringen.

Am gefährlichsten ist ein Bug bei der Verarbeitung und Berücksichtigung von Linux Capabilities wie CAP_SYS_ADMIN. Ein Node-Prozess, der mit erweiterten Berechtigungen läuft, verarbeitet diese nicht korrekt, was Angreifern erlaubt, eigenen Code in diesen Prozess einzuschleusen. Die Lücke trägt die Kennung CVE-2024-21892 und die Risikostufe "hoch".

Diese teilt sie sich mit CVE-2024-22019, einer Denial-of-Service-Lücke über präparierte HTTP-Pakete mit "Chunked"-Encoding, die zu Prozessor- und Netzwerküberlastung führen kann. Auch die inkorrekte Behandlung von Dateipfaden (CVE-2024-21896) und irrtümlich nicht abgegebene Privilegien trotz setuid()-Aufruf (CVE-2024-22017) werden vom Node-Team als hohes Risiko angesehen.

Drei weitere Sicherheitslücken sind jeweils mit mittlerem Risiko eingestuft:

Alle genannten Probleme bestehen in den Versionen 20.x und 21.x, teilweise jedoch nur bei Verwendung des experimentellen Berechtigungsmodells (CVE-2024-21890 und CVE-2024-21891). Die ebenfalls noch durch das Node-Projekt unterstützte Version 18 leidet zudem noch unter CVE-2024-21891, CVE-2024-22019 und CVE-2023-46809.

Zusätzlich liefern die aktualisierte Versionen von Node.js neue Versionen von libuv, undici und OpenSSL mit, die jeweils eigene Sicherheitslücken beheben. Die Sicherheitsflicken gibt es in Version 20.11.1, 21.6.2 und 18.9.1. Die 21. Ausgabe der freien JavaScript-Runtime war im vergangenen Oktober erschienen [1], gleichzeitig erklärten die Entwickler die Vorgängerausgabe 20 zur Version mit Langzeitsupport (LTS).

(cku [2])


URL dieses Artikels:
https://www.heise.de/-9629299

Links in diesem Artikel:
[1] https://www.heise.de/news/JavaScript-Runtime-Node-js-21-stabilisiert-das-Fetch-Modul-9337521.html
[2] mailto:cku@heise.de