JavaScript-Runtime: Deno 1.32 schließt kritische Sicherheitslücke

Die JS-Runtime Deno 1.32 liefert weitere Verbesserungen für die Kompatibilität mit Node.js und neue Funktionen für den Befehl deno compile.

In Pocket speichern vorlesen Druckansicht

(Bild: Shutterstock)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Die JavaScript- und TypeScript-Runtime Deno liegt ab sofort in Version 1.32 vor. Die auf den Node.js-Erfinder Ryan Dahl zurückgehende Runtime liefert mit dem neuen Release eine Reihe weiterer Anpassungen an Node.js, die bessere Kompatibilität versprechen. Der Befehl deno compile erhält neue Funktionen. Aufgrund einer in Deno 1.32.0 aufgetretenen kritischen Sicherheitslücke, die in der Größe anpassbare ArrayBuffer betrifft, empfiehlt das Deno-Team allerdings unmittelbar auf Version 1.32.1 upzugraden.

Im Zuge der Freigabe von Deno 1.32.0 wurde eine kritische Sicherheitslücke bekannt, die Luca Casonato aus dem Denoland-Kernteam unter CVE-2023-28445 gemeldet hat. Demnach kann es zu einem Out-of-Bound Read/Write kommen, falls in der Größe anpassbare ArrayBuffers, die an asynchrone native Funktionen übergeben werden, während der asynchronen Operation verkleinert werden. Das Deno-Team geht zwar davon aus, dass die Lücke bisher nicht ausgenutzt wurde, rät aber dennoch zum direkten Update auf Version 1.32.1.

Wie schon die vorangehenden Releases liefert die neue Deno-Version einige weitere Verbesserungen für die Kompatibilität mit Node.js. Die Installation von Paketen bleibt künftig auf jene Fälle beschränkt, in denen der Code einen Specifier verwendet, der mit einem Eintrag in der package.json-Datei übereinstimmt. Entwicklerinnen und Entwickler erhalten zudem mehr Kontrolle über den Auto-Discovery-Prozess. Durch Setzen der Flags --no-config und --no-npm lässt sich ab Deno 1.32 die Package.json-Auto-Discovery deaktivieren. Durch die Erweiterung von "node:crypto" um die APIs createCipheriv und createDecipheriv stehen künftig noch mehr kryptografische Funktionen in der Runtime zur Verfügung.

Um das Bauen von Multi-Threaded-Anwendungen zu erleichtern, hat das Deno-Team laut Ankündigung offenbar bereits seit Längerem nachgefragte Ergänzungen für das Subkommando deno compile nachgereicht. Ab sofort lassen sich dynamische Importe und die Web Worker API nutzen.

Deno 1.32 schließt nun das stabile Release TypeScript 5.0 ein und V8 wurde auf Version 11.2 aktualisiert. Darüber hinaus sollten Entwicklerinnen und Entwickler eine Änderung in der Standardbibliothek berücksichtigen, die als Breaking Change einzustufen ist: Um die Module/Directory-Struktur konsistenter zu gestalten, wurden sechs Module aus der Kategorie std/encoding in den Top-Level der Library verschoben.

Weitere Details zu Version 1.32 finden sich im Deno-Blogbeitrag zur Ankündigung des neuen Release.

(map)