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.
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 ArrayBuffer
s, 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.
Erweiterte Kompatibilität zu Node.js
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.
Mehr Optionen für Multi-Threaded-Anwendungen
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)