3月10日微软发布安全公告,通报了.NET架构组件System.Text.Encodings.Web远程执行漏洞。影响范围包括NET 5.0,.NET Core 3.1和.NET Core 2.1。
由于执行文本编码的方式,.NET 5和.NET Core中存在一个远程执行代码漏洞。
缓解方法
Microsoft尚未发现此漏洞的任何缓解因素。
影响范围
该漏洞影响的程序包是System.Text.Encodings.Web。升级软件包并重新部署应用程序,以解决问题。 目前对应的安全版本为4.5.1,4.7.7和5.0.1。
基于.NET 5,.NET Core或.NET Framework,使用System.Text.Encodings.Web程序包发布的人任何的应用程序。
注意,.NET Core 3.0已停止支持,所有应用程序都应更新为3.1。
漏洞检测
漏洞可以根据当前使用的版本来检测,列出的版本的运行时或SDK,对比上面列出的受影响的版本范围。通过cmd运行dotnet --info命令列出已安装的版本命令,命令输出类似以下信息。
- .NET SDK (反映任何 global.json):
- Version: 5.0.201
- Commit: a09bd5c86c
- 运行时环境:
- OS Name: Windows
- OS Version: 10.0.18362
- OS Platform: Windows
- RID: win10-x64
- Base Path: C:\Program Files\dotnet\sdk\5.0.201\
- Host (useful for support):
- Version: 5.0.4
- Commit: f27d337295
- .NET SDKs installed:
- 5.0.201 [C:\Program Files\dotnet\sdk]
- .NET runtimes installed:
- Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
- Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
- Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
漏洞解决
要解决此问题,需要安装的.NET 5.0,.NET Core 3.1或.NET Core 2.1的最新版本。如果Visual Studio中安装了一个或多个.NET Core SDK,VS会提示更新Visual Studio,还会自动更新.NET Core SDK。
- 对于.NET 5.0,请下载并安装Runtime 5.0.4或SDK 5.0.104(适用于Visual Studio 2019 v16.8) 。
- 对.NET Core 3.1,则应下载并安装Runtime 3.1.13或SDK 3.1.113(适用于Visual Studio 2019 v16.4)或3.1.406(适用于Visual Studio 2019 v16.5或更高版本)
- 对.NET Core 2.1,则应下载并安装Runtime 2.1.26或SDK 2.1.522(适用于Visual Studio 2019 v15.9)或2.1.814。
Microsoft Update也提供.NET 5.0,.NET Core 3.1和.NET Core 2.1更新。要访问此文件,请在Windows搜索中键入“检查更新”,或打开“设置”,选择“更新和安全性”,然后单击“检查更新”。
安装更新的运行时或SDK后,请重新启动应用程序以使更新生效。
对于已部署的独立的应用程序,针对任何受影响的版本 ,则这些应用程序也容易受到攻击,必须重新编译和重新部署。