Microsoft hat gestern für die noch unterstützen Versionen von .NET ein Sicherheitsupdate bereitgestellt. Dadurch erhöht sich die Versionsnummer auf die .NET 7.0.1, .NET 6.0.12 und .NET Core 3.1.32.
Unter dem Sicherheitshinweis CVE-2022-41089 hat Microsoft in allen drei Versionen „eine Sicherheitsanfälligkeit für Remotecodeausführung, durch die ein böswilliger Anwender einen Nutzer dazu bringen könnte, beliebigen Code auszuführen, indem er in böswilliger Weise gestaltete xps-Dateien parst“ behoben.
Weitere Korrekturen wurden nicht vorgenommen. Für .NET Core 3 war es das letzte Update. Denn .NET Core 3 hat das Ende des Supportzeitraumes erreicht. Entwickler sollten ihre Anwendungen auf .NET 6.0 aktualisieren.
Info und Download:
- devblogs.microsoft.com/december-2022-updates
- github.com/dotnet/release-notes
- dotnet.microsoft.com/download/dotnet/7.0
- dotnet.microsoft.com/download/dotnet/6.0
.NET 7.0.1, .NET 6.0.12 und .NET Core 3.1.32 korrigieren eine Sicherheitslücke (CVE-2022-41089)
Die .Net 7.0 ersetzt die 6.0 komplett. Es gab bei den MS Powertoys das Phänomen, dass die Versionsnummer fest verdrahtet war und deshalb nicht mit 7.0 klarkam. Das wurde mit der 0.65 korrigiert. Ansonsten sollte man die 6.0 problemlos deinstallieren können.
Ich habe nachgeschaut und bei mir ist auf einmal alles installiert:
> Microsoft Windows Desktop Runtime – 7.0.0 (x64)
> Microsoft Windows Desktop Runtime – 6.0.11 (x64)
> Microsoft .NET Core Runtime – 3.1.31 (x64)
Wissentlich installiert hatte ich die .NET 6.
Die .NET 7 scheint anhand des Installationsdatums gemeinsam mit PowerToys 0.65 installiert worden zu sein.
Wo die .NET Core herkommt weiß ich nicht.
Sollte ich die .NET 7 behalten und die beiden anderen entfernen können?
Wahrscheinlich von einem nochmal gepackten Setup File und einer hidden Installation von den ganzen Versionen.
https://dotnet.microsoft.com/en-us/download/dotnet
–> Out of support versions <–
Version: .NET Core 3.1
Latest release: 3.1.32
Latest release date: December 13, 2022
End of support: December 13, 2022
Die 7.0 ersetzt die 6.0 nicht. Je nach Anwendung wird die benötigt
Nur, wenn die Version fest abgefragt wird. Das ist aber eindeutig ein Fehler in der Programmierung.
Das sind zwei verschiedene Versionen, kein Fehler.
Wer seine App auf .NET 6 aufgebaut hat, wird der Nutzer auch weiterhin .NET 6 benötigen.
Wenn, wie PowerToys auf .NET 7 wechselt, dann braucht man dafür auch kein .NET 6 mehr.
Programmierfehler ist das nicht. PowerToys 0.65 wurde auf .NET 7.0 aktualisiert und genau diese Version wird jetzt abgefragt und automatisch installiert. Für .NET 6.0 interessieren sich die PowerToys nicht mehr.
Da .NET 6.0 die aktuelle LTS Version ist, sollte man die erst deinstallieren, wenn diese von keiner weitern Anwendung benötigt wird. Es ist nicht davon auszugehen, dass jetzt alle von LTS auf STS wechseln.
Die 7 ist ein superset und ersetzt die 6 vollständig. Bei den Powertoys haben die sogar die Unterversionsnummer eincodiert, weil die mit dem Wix Bootstrapper arbeiten. Damit hatten die sich ihre eigene DLL-Hell 2.0 geschaffen.
Wenn man nicht die Versionsabfrage einbaut, braucht man die 6 nicht als Programmierer. Es kann aber gerade im Firmenumfeld sinnvoll sein, auf eine LTS zu setzen, rein von den Funktionen her gibt es jedoch keinen Grund für die 6.
Die .NET Core 3.1.32. ist nach der Installation von .NET 7.0.1 aus „Apps & Features“ verschwunden, .NET 6.0.12 wurde über WU aktualisiert.
.NET 7.0.2 Build 32007 ist da!
https://dotnet.microsoft.com/download/dotnet/7.0
Oder im Microsoft Update-Catalog „2023-01 .NET 7.0.2“ eingeben!
Ja, und NET 6.0.13 LTS kam auch.