此更改仅影响可选的系统范围的 Git 安装。 Visual Studio中内置的 Git 功能不受影响。 如果依赖于此组件,请升级到受支持的 Windows 版本,以继续接收当前的 Git 更新和安全修补程序。
如果以前使用 Visual Studio 安装了其中一个版本的 SDK,则更新时会卸载它。 如果项目面向上述任一 SDK,可能会遇到生成错误,例如:
找不到Windows SDK 版本 10.0.17763.0。在项目属性页中安装所需的 Windows SDK 版本或更改 SDK 版本,或者右键单击解决方案并选择“重定目标解决方案”.
此版本中已解决的问题
将 MinGit 更新到 v2.43.0.1,其中包含 OpenSSL v3.1.4,并解决了在某些情况下导致网络操作非常缓慢的回归问题。
已解决的安全公告
CVE-2024-20656
VSStandardCollectorService150 服务中存在漏洞,其中本地攻击者可以在运行受影响的Microsoft Visual Studio安装的主机上提升特权。
Visual Studio 2017 版本 15.9.58
于 2023 年 10 月 10 日发布
此版本中已解决的问题
为了提高Visual Studio安装程序 WMI 提供程序的可靠性,我们已将其移动到专用命名空间 root/cimv2/vs。这可以防止与其他共享相同、基础命名空间的 WMI 提供程序发生任何冲突,并防止Visual Studio安装程序 WMI 提供程序无法检测Visual Studio的情况。
Visual Studio 2017 版本 15.9.57
发布日期:2023 年 9 月 12 日
此版本中已解决的问题
已解决的安全公告
CVE-2023-36796
此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
CVE-2023-36794
此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
CVE-2023-36793
此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
CVE-2023-36792
此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
Visual Studio 2017 版本 15.9.56
发布日期:2023 年 8 月 8 日
此版本中已解决的问题
解决了 VSWhere 的所有交换机不会返回处于不可启动状态的实例的问题。
已解决的安全公告
CVE-2023-36897
Visual Studio 2010 Office 运行时欺骗漏洞工具
此安全更新解决了未经身份验证的远程攻击者可以在没有有效代码签名证书的情况下对 VSTO 外接程序部署进行签名的漏洞。
Visual Studio 2017 版本 15.9.55
发布日期:2023 年 6 月 13 日
此版本中已解决的问题
在此更新中,为了解决 CVE-2023-27909、CVE-2023-27910 和 CVE-2023-27911 的问题,我们将删除 .fbx 和.dae支持。 这是作者不再支持的第三方 x86 组件。 受影响的用户应使用
fbx 编辑器
。
已解决的安全公告
CVE-2023-24897
Visual Studio远程代码执行漏洞
此安全更新解决了 MSDIA SDK 中损坏的 PDB 可能导致堆溢出的漏洞,导致崩溃或远程代码执行。
CVE-2023-25652
Visual Studio 远程代码执行漏洞 此安全更新解决了一个漏洞,即对 git apply –reject 提供特制输入可导致在任意位置写入受控内容。
CVE-2023-25815
Visual Studio欺骗漏洞此安全更新解决了一个漏洞,其中 Github 本地化消息引用了硬编码路径,而未遵循运行时前缀,导致越界内存写入和崩溃。
CVE-2023-29007
Visual Studio远程代码执行漏洞 此安全更新解决了包含逻辑错误的配置文件导致任意配置注入的漏洞。
CVE-2023-29011
Visual Studio远程代码执行漏洞 此安全更新解决了负责实现 SOCKS5 代理功能的 Git for Windows 可执行文件在多用户计算机环境中可能受到不受信任配置影响的漏洞。
CVE-2023-29012
Visual Studio远程代码执行漏洞此安全更新解决了 Git for Windows Git CMD 程序在启动时错误搜索程序,导致无提示的任意代码执行。
CVE-2023-27909
Visual Studio远程代码执行漏洞 此安全更新解决了 Autodesk® FBX® SDK 中的越界写入漏洞,该漏洞在版本 2020 或更早的版本中,可能通过恶意制作的 FBX 文件导致代码执行或信息泄露。
CVE-2023-27910
Visual Studio信息泄露漏洞 此安全更新解决了一个漏洞,其中用户可能被欺骗打开恶意 FBX 文件,该文件可能会利用 Autodesk® FBX® SDK 2020 或更早版本中的堆栈缓冲区溢出漏洞,从而导致远程代码执行。
CVE-2023-27911
Visual Studio远程代码执行漏洞此安全更新解决了一个漏洞,其中用户可能被欺骗打开恶意 FBX 文件,该文件可能会利用 Autodesk® FBX® SDK 2020 或更早版本中的堆缓冲区溢出漏洞,从而导致远程代码执行。
CVE-2023-33139
Visual Studio信息泄露漏洞此安全更新解决了 Visual Studios 中的 obj 文件分析程序导致信息泄露的 OOB 漏洞。
Visual Studio 2017 版本 15.9.54
发布日期:2023 年 4 月 11 日
15.9.54 版中已修复的问题
修复了 IIS Express 中更新遥测数据时可能导致崩溃的问题。
iisexpress 在 ntdll.dll 中崩溃
已解决的安全公告
CVE-2023-28296
Visual Studio远程代码执行漏洞
CVE-2023-28299
Visual Studio欺骗漏洞
Visual Studio 2017 版本 15.9.53
发布日期:2023 年 3 月 14 日
15.9.53 版本修复的问题
Git 2.39 已将 credential.helper 的值从“manager-core”重命名为“manager”。 有关详细信息,请参阅
https://aka.ms/gcm/rename
。
mingit 和 Git for Windows 包更新到 v2.39.2,解决了 CVE-2023-22490
已解决的安全公告
CVE-2023-22490
Mingit 远程代码执行漏洞
CVE-2023-22743
Git for Windows 安装程序的特权提升漏洞
CVE-2023-23618
Git for Windows 远程代码执行漏洞
CVE-2023-23946
Mingit 远程代码执行漏洞
Visual Studio 2017 版本 15.9.52
发布日期:2023 年 2 月 14 日
在 15.9.52 版本中修复的问题
Windows 的 mingit 和 Git 软件包更新到 v2.39.1.1,解决了 CVE-2022-41903。
已解决的安全公告
CVE-2023-21566
Visual Studio 安装程序特权提升漏洞
CVE-2023-21567
Visual Studio拒绝服务漏洞
CVE-2023-21808
.NET和Visual Studio远程代码执行漏洞
CVE-2023-21815
Visual Studio远程代码执行漏洞
CVE-2023-23381
Visual Studio Code远程代码执行漏洞
CVE-2022-23521
gitattributes 分析整数溢出
CVE-2022-41903
git archive
和
git log --format
中的堆溢出导致 RCE
CVE-2022-41953
Git GUI 克隆远程代码执行漏洞
Visual Studio 2017 版本 15.9.51
发布日期:2022 年 11 月 8 日
15.9.51 中修复的问题
管理员将能够从布局更新脱机客户端计算机上的 VS 安装程序,而无需更新 VS。
已解决的安全公告
CVE-2022-41119
远程代码执行漏洞
Visual Studio 中的堆溢出漏洞
CVE-2022-39253
信息泄露 本地克隆优化在默认情况下重新指向符号链接
Visual Studio 2017 版本 15.9.50
于 2022 年 8 月 9 日发布
修复于 15.9.50 版本中的问题
将 Git for Windows 更新到 v2.37.1.1,以解决 CVE-2022-31012。
已解决的安全公告
CVE-2022-31012
远程代码执行
git for Windows 安装程序可以欺骗执行不受信任的二进制文件
CVE-2022-29187
特权提升 恶意用户可以在超级用户拥有的文件夹中创建 .git 目录
CVE-2022-35777
远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析器堆溢出漏洞
CVE-2022-35825
远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析器 OOBW 漏洞
CVE-2022-35826
远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析器堆溢出漏洞
CVE-2022-35827
远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析器堆越界写入漏洞
Visual Studio 2017 版本 15.9.49
于 2022 年 6 月 14 日发布
已解决的安全公告
CVE-2022-24513
特权提升漏洞
当Microsoft Visual Studio更新程序服务错误分析本地配置数据时,可能存在潜在的特权提升漏洞。
Visual Studio 2017 版本 15.9.48
于 2022 年 5 月 10 日发布
15.9.48 版中修复的问题
更新了 Visual Studio 使用的 Git for Windows 版本,并将可安装的可选组件更新为 2.36.0.1。
修复了 git 集成的问题,其中,如果拉取/同步已分离的分支,则输出窗口不会显示有关如何解决该问题的本地化提示。
已解决的安全公告
CVE-2022-29148
Visual Studio远程代码执行漏洞
Visual Studio在内存中不当处理对象时存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。
CVE-2022-24513
特权提升漏洞 当Microsoft Visual Studio更新程序服务错误分析本地配置数据时,可能存在潜在的特权提升漏洞。
Visual Studio 2017 版本 15.9.47
于 2022 年 4 月 19 日发布
在15.9.47版本中解决的问题
修复了 15.9.46 中 vctip.exe 的回退问题。
Visual Studio 2017 版本 15.9.46
于 2022 年 4 月 12 日发布
15.9.46 中修复的问题
已解决的安全公告
CVE-2022-24765
特权提升漏洞
Git Windows 中存在潜在的特权提升漏洞,其中 Git 操作可以在 Git 目录的缓存时在存储库外部运行。 Windows Git 现已更新到版本 2.35.2.1。
CVE-2022-24767
DLL 劫持漏洞运行 SYSTEM 用户帐户下的卸载程序时,Windows Git 中存在潜在的 DLL 劫持漏洞。 Windows Git 现已更新到版本 2.35.2.1。
CVE-2022-24513
特权提升漏洞 当Microsoft Visual Studio更新程序服务错误分析本地配置数据时,可能存在潜在的特权提升漏洞。
Visual Studio 2017 版本 15.9.45
发布日期:2022 年 3 月 8 日
15.9.45 中修复的问题
已解决的安全公告
CVE-2021-3711
OpenSSL 缓冲区溢出漏洞
在 OpenSSL 中存在潜在的缓冲区溢出漏洞,该库被 Git for Windows 使用。 git for Windows 现已更新到版本 2.35.1.2,解决了此问题。
Visual Studio 2017 版本 15.9.44
于 2022 年 2 月 8 日发布
在 15.9.44 版中修复的问题
已解决的安全公告
CVE-2022-21871
诊断中心标准收集器运行时权限提升漏洞
若诊断中心标准收集器错误处理数据操作,就存在权限提升漏洞。
15.9.39版中修复的问题
在 Visual Studio 中使用 Tools ->“获取工具和功能”菜单项时,将发生错误,指出找不到Visual Studio安装程序。 此修补程序使Visual Studio能够正确找到安装程序位置。
已解决的安全公告
CVE-2021-26434
Visual Studio中由于权限分配不当导致的权限提升漏洞
在安装使用 C++ 的游戏开发并选择 Unreal Engine Installer 工作负载后,Visual Studio中存在权限分配漏洞。 在安装过程中,系统容易受到 LPE 攻击,它会创建一个目录,该目录具有所有用户的写入访问权限。
CVE-2021-36952
Visual Studio远程代码执行漏洞 当Visual Studio错误处理内存中的对象时,会存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。
CVE-2021-26423
.NET核心拒绝服务漏洞
存在拒绝服务漏洞,在这种情况下,提供 WebSocket 终结点的 .NET (Core) 服务器应用程序在尝试读取单个 WebSocket 帧时可能会陷入无限循环。
CVE-2021-34485
.NET核心信息泄露漏洞
使用 Linux 和 macOS 上的全局读取权限创建由工具创建的用于收集故障转储和按需转储的转储时,存在信息泄漏漏洞。
CVE-2021-34532
ASP.NET Core信息泄露漏洞
如果无法分析 JWT 令牌,则记录该令牌时存在信息泄漏漏洞。
CVE-2021-1639
TypeScript 语言服务远程代码执行漏洞
当Visual Studio加载包含 JavaScript 或 TypeScript 代码文件的恶意存储库时,存在远程代码执行漏洞。
CVE-2021-1721
.NET核心拒绝服务漏洞
在 X509 证书链生成期间创建 HTTPS Web 请求时,存在拒绝服务漏洞。
CVE-2021-24112
.NET 5 和.NET核心远程代码执行漏洞
释放图元文件时,如果图形界面仍有对它的引用,则会存在远程代码执行漏洞。 此漏洞仅存在于在 MacOS 或 Linux 上运行的系统中。
CVE-2020-16856
Visual Studio远程代码执行漏洞
当 Visual Studio 错误地处理内存中的对象时,会导致远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。
CVE-2020-16874
Visual Studio远程代码执行漏洞
当 Visual Studio 错误地处理内存中的对象时,会导致远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。
CVE-2020-1045
Microsoft ASP.NET Core安全功能绕过漏洞
Microsoft ASP.NET Core 对编码的 Cookie 名称的解析方式存在一个安全功能绕过漏洞。 ASP.NET Core Cookie 分析程序对整个 Cookie 字符串进行解码,这可能允许恶意攻击者设置名为%编码的第二个 Cookie。
CVE-2020-1416
Visual Studio特权提升漏洞
加载软件依赖项时,Visual Studio存在特权提升漏洞。 成功利用此漏洞的本地攻击者可能会在当前用户的上下文中注入任意代码以运行。
CVE-2020-1147
.NET核心拒绝服务漏洞
远程未经身份验证的攻击者可以通过向 ASP.NET Core应用程序或分析特定类型 XML 的其他应用程序发出特制的请求来利用此漏洞。 安全更新通过限制允许在 XML 有效负载中存在的类型来解决漏洞。
修复了在 DLL 名称的后缀上使用大小写不同的伞式 LIB 时 C++ 链接器缺少导入的 bug。
修复了 ARM64 C++ 编译器中的错误,其中在调用 setjmp 之后可能会还原错误的值。
修复了 C++ 编译器 bug,现可正确折叠内联变量动态初始值设定项。
进行了更改,使企业 IT 管理员和部署工程师能够配置 Microsoft 更新客户端和 SCCM 等工具,以确定在 Microsoft 更新目录和 WSUS 上托管的 VS2017 更新的适用性。
已解决的安全公告
CVE-2020-1202
/
CVE-2020-1203
诊断中心标准收集器服务权限提升漏洞
当诊断中心标准收集器或Visual Studio标准收集器无法正确处理内存中的对象时,存在特权提升漏洞。
CVE-2020-1293
/
CVE-2020-1278
/
CVE-2020-1257
诊断中心标准收集器服务特权提升漏洞
如果诊断中心标准收集器服务对文件操作的处理不当,就会存在特权提升漏洞。
CVE-2020-1108
/
CVE-2020-1108
/
CVE-2020-1108
.NET Core 拒绝服务漏洞
为了全面解决 CVE-2020-1108 问题,Microsoft发布了 .NET Core 2.1 和 .NET Core 3.1 的更新。 使用这些版本的 .NET Core 的客户应安装最新版本的 .NET Core。 请参阅
发布说明
以获取最新的版本号以及更新 .NET Core 的说明。
修复了 C++ 编译器 bug,现可正确折叠内联变量动态初始值设定项。 从 VS 2019 16.0 版本移植。
vctip.exe中的安全性改进。
更改使企业 IT 管理员和部署工程师能够配置 Microsoft 更新客户端和 SCCM,以确定托管在 Microsoft 更新目录和 WSUS 上的 VS2017 更新的适用性。
已解决的安全公告
CVE-2020-1108
.NET核心拒绝服务漏洞
远程未经身份验证的攻击者可以通过向 .NET Core 应用程序发出特制的请求来利用此漏洞。
安全更新通过更正 .NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。
CVE-2020-0899
Microsoft Visual Studio特权提升漏洞
当 Microsoft Visual Studio 更新程序服务不当处理文件权限时,会出现特权提升漏洞。 成功利用此漏洞的攻击者可以在本地系统的安全上下文中篡改任意文件的内容。
CVE-2020-0900
Visual Studio 扩展安装程序服务特权提升漏洞
当 Visual Studio Extension Installer 服务不当处理文件操作时,会出现特权提升漏洞。 成功利用了此漏洞的攻击者可使用已提升的权限删除任意位置的文件。
CVE-2020-5260
Git for Visual Studio 凭据泄露漏洞,由于 URL 验证不足
当专门创建的 URL 被分析并发送至凭据帮助程序时,会出现凭据泄露漏洞。 这可能会导致凭据被发送到错误的主机。
修复了一个错误,即在使用脱机安装程序时,.NET 分析工具无法在非企业版本的 Visual Studio 2017 上安装
修复了 C++ 编译器的一个 bug,其中 decltype 中的 static_cast 无法正确求值。 为了最大程度地减少对现有代码库的干扰,在 VS2017 中,当新添加的 /d1decltypeIdentityConversion 开关被启用时,此修复开始生效。
C++ 编译器中的新 Spectre 缓解选项:
[/cpp/build/reference/qspectre-load /Qspectre-load</a> & [/cpp/build/reference/qspectre-load-cf /Qspectre-load-cf</a>
,用于强化推理负载。
已解决的安全公告
CVE-2020-0793
/
CVE-2020-0810
诊断中心标准收集器服务特权提升漏洞
如果诊断中心标准收集器处理文件操作不当,或者 Windows诊断中心标准收集器服务无法正确清理输入,则存在特权提升漏洞。
CVE-2020-0884
在创建 Outlook 网络加载项时的欺骗漏洞
如果启用了多重身份验证,则创建Outlook Web-Addin时存在欺骗漏洞
Visual Studio 2017 版本 15.9.20
于 2020 年 2 月 11 日发布
15.9.20 版本中修复的问题
SQL Server 测试配置错误
修复了客户对表数据进行排序时导致崩溃的 SQL Server 对象资源管理器。
CVE-2020-0602
ASP.NET Core拒绝服务漏洞
远程未经身份验证的攻击者可以通过向 ASP.NET Core应用程序发出专门设计的请求来利用此漏洞。 安全更新通过更正 ASP.NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。
CVE-2020-0603
ASP.NET Core远程代码执行漏洞
远程未经身份验证的攻击者可以通过向 ASP.NET Core应用程序发出专门设计的请求来利用此漏洞。 安全更新通过更正 ASP.NET Core Web 应用程序在内存中处理的方式来解决漏洞。
CVE-2019-1349
由于对子模块名称的限制过于宽松,Visual Studio 的 Git 存在远程执行漏洞
当 Git 遇到同级子模块目录子模块名称冲突时,存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用适用于 Windows 的新版本 Git 来解决漏洞,该版本要求子模块克隆的目录必须为空。
CVE-2019-1350
Git for Visual Studio 远程执行漏洞,因为命令行参数引用不正确
Git 使用递归克隆过程中的特定引用以及 SSH URL 解释命令行参数时,存在远程代码漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用新版本的 Git for Windows 来解决漏洞,从而修复了此问题。
CVE-2019-1351
Git for Visual Studio 任意文件覆盖漏洞,因克隆期间使用非字母驱动器名称
非字母驱动器名称绕过
git clone
中的安全检查时,Git 中存在任意文件覆盖漏洞。 成功利用此漏洞的攻击者可以写入目标计算机上的任意文件。 安全更新通过采用新版本的 Git for Windows 来解决漏洞,从而修复了此问题。
CVE-2019-1352
由于对NTFS备用数据流缺乏了解导致的Git for Visual Studio远程执行漏洞
通过 NTFS 备用数据流克隆和写入 .git/ 目录时,Git 中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 该安全更新通过使用新版本的 Git for Windows 来解决该漏洞,该版本可感知 NTFS 备用数据流。
CVE-2019-1354
Git for Visual Studio 任意文件覆盖漏洞,因未拒绝写出包含反斜杠的跟踪文件
带有反斜杠和恶意符号链接的树条目突破工作树时,Git 中存在任意文件覆盖漏洞。 成功利用此漏洞的攻击者可以写入目标计算机上的任意文件。 该安全更新通过使用新版本的 Git for Windows 来解决该漏洞,该版本不允许使用反斜杠。
CVE-2019-1387
Git for Visual Studio 因递归克隆操作中子模块名称验证不足导致的远程执行漏洞
当对子模块进行递归克隆时,Git 中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用新的 Git for Windows 版本来解决漏洞,从而加强对子模块名称的验证。
CVE-2019-1232
诊断中心标准收集器服务特权提升漏洞
当诊断中心标准收集器服务错误地模拟特定文件操作时,会出现权限提升漏洞。 成功利用此漏洞的攻击者可能会获得提升的权限。 对易受攻击的系统拥有非特权访问权限的攻击者可利用此漏洞。 安全更新通过确保诊断中心标准收集器服务正确模拟文件操作来解决漏洞。
CVE-2019-1301
.NET Core 中拒绝服务漏洞
当 .NET Core 处理 Web 请求时,存在拒绝服务漏洞。 成功利用此漏洞的攻击者可能会针对 .NET Core Web 应用程序导致拒绝服务。 无需身份验证即可远程利用漏洞。
更新通过更正 .NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。
15.9.15 版中修复的问题
更新了 VC Redist 包的签名机制,以确保在 Windows XP 上能够持续进行部署。 为了安装更新的 VC++ 可再发行组件包,此修复程序可能需要重启计算机。
修复了 GoToDefinition 不适用于 cshtml 文件的脚本块中的 JavaScript 的问题。
调用 pmr monotonic_buffer_resource release 将损坏内存。
修复某些 C++ 项目中升级到 15.9.13 版本时的 HRESULT E_FAIL 生成错误
已解决的安全公告
CVE-2019-1211
Visual Studio中的Git特权提升漏洞
Git for Visual Studio 中存在一个权限提升漏洞,当它错误地解析配置文件时会出现这种漏洞。 成功利用漏洞的攻击者可以在另一个本地用户的上下文中执行代码。 若要利用漏洞,经过身份验证的攻击者需要在完全安装应用程序之前修改系统上的 Git 配置文件。 然后,攻击者需要说服系统上的其他用户执行特定的 Git 命令。 更新通过更改编辑配置文件所需的权限来解决该问题。
修复了切换分支时导致 Visual Studio 2017 崩溃的 bug。
修复了在代码分析期间导致内部编译器错误(“fbtctree.cpp”,第 5540 行)的错误。
修复了 Ryzen 处理器上 memcpy/memset 函数的性能下降问题。
更新了服务Fabric工具以支持 6.5 服务Fabric版本。
已启用屏幕阅读器在 .NET 4.8 上正确播报 TeamExplorer 的通知。
VS2017 15.8 内部编译器错误 ('msc1.cpp', line 1518):预处理器和 #import 之间的冲突
ICE 位于 PREfast 19.16.27023.1 (15.9 RTW)中。
已解决的安全公告
CVE-2019-1075
ASP.NET Core欺骗漏洞
.NET核心更新现已发布,并包含在此Visual Studio更新中。 此版本解决了安全性和其他重要问题。 有关详细信息,请参阅
.NET Core 发行说明
。
CVE-2019-1077
Visual Studio扩展自动更新漏洞
当Visual Studio扩展自动更新过程不正确地执行某些文件操作时,存在特权提升漏洞。 成功利用此漏洞的攻击者可以删除任意位置的文件。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过保护Visual Studio扩展自动更新在其中执行文件操作的位置来解决漏洞。
CVE-2019-1113
WorkflowDesigner XOML 反序列化允许代码执行
引用某些类型的 XOML 文件可能会导致在Visual Studio中打开 XOML 文件时执行随机代码。 现在,允许在 XOML 文件中使用哪些类型存在限制。 如果打开包含其中一个新未授权类型的 XOML 文件,则会显示一条消息,说明该类型是未经授权的。
有关详细信息,请参阅
https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml
。
修复了导致Code Analysis停止在某些 C++ 项目中运行的 bug。
修复了架构比较工具中的错误,其中添加具有空白架构的表时操作失败,却显示为成功。
修复了当所选语言版本低于最新安装版本时的 TypeScript 构建问题。
修复了数据库未解决的对象引用错误。
改进了加载 Visual Studio 时的性能问题。
调试时,未在“诊断工具”窗口的“内存使用工具”中为 C++ 本机代码创建任何快照。
SSDT 添加了硬编码的 mmsdb 和/或 master.dacpac 路径
SSDT 添加了对系统数据库的引用:“ArtifactReference”和“HintPath”互换导致在使用 MSBuild 时构建失败
15.8.9 中的编译器优化 bug。
已修复了在分布式生成系统(如 IncrediBuild)中使用 PCH、/Zi 和 /GL 时发生的链接器错误 LNK4020。 C++ 编译器后端现在在生成跨模块内联的调试信息时,可以将 CIL OBJ 与其相应的编辑器生成的 PDB 正确关联。
已解决的安全公告
CVE-2019-0727
诊断中心标准收集器服务特权提升漏洞
当诊断中心标准收集器服务不正确地执行某些文件操作时,存在特权提升漏洞。 成功利用此漏洞的攻击者可以删除任意位置的文件。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过保护诊断中心标准收集器执行文件操作的位置来解决漏洞。
加载此属性页时出错 (CSS & JSON)。
单击 Azure 活动日志中的 Web 应用 URL 现在已成功发布云服务项目。
现在,即使未登录到包含函数应用的帐户,也可以发布到 Function App。
我们在 HTML 编辑器中修复了未经处理的异常。
我们更新了基架包,以安装适用于 .NET Core 2.1 的 Microsoft.VisualStudio.Web.CodeGeneration.Design 包版本 2.1.9,以及适用于 .NET Core 2.2 的版本 2.2.3。
我们已实施 C++ 编译器修复程序,以增强在 Release 模式下使用 setjmp/longjmp 的代码的异常处理支持。
我们已实现了关于 PDB 中信息的 C++ 链接器修复程序,其中,当指定选项 /PDBSTRIPPED 时,如果 PDBCopy.exe 或 link.exe 生成提取 PDB 文件,错误的模块信息可能导致堆损坏。
我们更正了 ARM64 Visual C++ Redistributable 安装程序的双重签名。
15.9.10 版中修复的问题
修复了 [配置 Web 代理时使用 Docker 进行调试的问题。](
https://github.com/Microsoft/DockerTools/issues/600
现在使用 Docker 进行调试时,针对与驱动器共享配置相关的故障进行错误处理时,可获得更好的效果。
15.9.9 版中修复的问题
修复了[当订阅所有者名称中包含撇号 (https://developercommunity.visualstudio.com/content/problem/133475/unable-to-deploy-to-azure-resource-group.html). 时部署资源组项目出现的问题
SSDT:修复了 SIS Foreach 循环容器中的崩溃问题
。
一些 .NET Native for UWP 客户问题已在 .NET Native tools 2.2
(UWP 6.2.4)
中修复。
我们更正了 Visual C++ Redistributable 安装程序的双重签名。
已解决的安全公告
CVE-2019-9197
Unity 编辑器远程代码执行漏洞
Unity编辑器中存在一个远程代码执行漏洞,它是Visual Studio提供的第三方软件,可以作为 游戏开发与Unity工作负载的一部分进行安装。 如果已从 Visual Studio 安装 Unity,请确保将所使用的 Unity 版本更新为解决 CVE 中所述漏洞的版本。
Visual Studio安装程序已更新,以提供安装解决漏洞的 Unity 编辑器版本。
CVE-2019-0809
Visual Studio远程代码执行漏洞
当Visual Studio C++ 可再发行组件安装程序在加载动态链接库 (DLL) 文件之前错误地验证输入时,存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中执行任意代码。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 要利用该漏洞,攻击者必须在本地系统上放置一个恶意 DLL 并说服用户执行特定可执行文件。 安全更新通过更正 Visual Studio C++ 可再发行组件安装程序在加载 DLL 文件之前验证输入的方式来解决漏洞。
CVE-2019-0757
.NET Core NuGet 篡改漏洞
在 Linux 或 Mac 环境中执行时,NuGet 软件中存在篡改漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。 如果当前用户使用管理用户权限登录,攻击者可以控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 要利用此漏洞,攻击者必须能够以该计算机上任意其他用户的身份登录。 此时,攻击者将能够替换或添加到当前用户帐户中由 NuGet 还原操作创建的文件。
.NET核心更新现已发布,并包含在此Visual Studio更新中。 该安全更新处理了该项漏洞,它更正了 NuGet 还原为提取到客户端计算机上的所有文件创建文件权限的方式。 有关包的详细信息,请参阅
.NET Core 发行说明
。
Xamarin中未处理的任务异常 WebRequest。
链接选项 /SOURCELINK 似乎不起作用。 该修复解决了托管 C++ 调试中的源链接问题。
修复了调试时 AVX/MPX/AVX512 寄存器损坏的问题。
更新 Microsoft.VCLibs.140.00.UWPDestkop 框架包,以添加对 C++ UWP DesktopBridge 应用程序的 ARM64 支持。
在 Microsoft.VCToolsVersion.default.props 文件中纠正了错误的 VCToolsRedistVersion 版本。
更正了 VC Redist 安装程序的未签名嵌入式 dll。
SSDT/Web 工具:修复了在波兰语、土耳其语和捷克语区域设置中 SQL LocalDB 未安装的问题。
SSDT:修复了影响 SQL Server 分析服务的问题(点击 UI 时出现“方法未找到”异常)
SSDT:我们修复了一个无障碍问题,该问题导致在使用 High-Contrast 模式时,表格内容在结果窗口中不可见。
已解决的安全公告
CVE-2019-0613
WorkflowDesigner XOML 反序列化允许代码执行
引用某些类型的 XOML 文件可能会导致在Visual Studio中打开 XOML 文件时执行随机代码。 现在,允许在 XOML 文件中使用哪些类型存在限制。 如果打开包含其中一个新未授权类型的 XOML 文件,则会显示一条消息,说明该类型是未经授权的。
有关详细信息,请参阅
XOML 漏洞文档
CVE-2019-0657
.NET 框架和Visual Studio欺骗漏洞
.NET核心更新现已发布,并包含在此Visual Studio更新中。 此版本解决了安全性和其他重要问题。 有关详细信息,请参阅
.NET Core 发行说明
。
VSX1000:尚未向 MSBuild 提供足够的信息,以便与远程服务器建立连接。
Visual C++ 2017 Redistributable for ARM64 无法通过 visualstudio.com 提供。
VS 15.9 的 VC 运行时可再发行组件更新删除注册表项。
此修补程序要求重启计算器来安装 VC++ Redistributable 包更新版的可能性更高。
托管 C++ 中 List 到 List 赋值的错误代码生成。
Visual Studio 15.9.4 更新后无法连接到 mac 构建主机。
增量生成中带有
AndroidAarLibrary
项目的资源目录被遗漏。
[大量外部程序集引用 - JNI 错误
(app bug
):本地引用表溢出
(max=512.
)]((
https://github.com/xamarin/xamarin-android/issues/2257
)
Unity 编辑器已更新到 2018.3。 有关详细信息,
请访问 Unity 网站。
SSDT:我们启用了 SQL 项目来生成在未索引视图上具有未聚集列存储索引的架构。
SSDT:我们修复了架构比较工具在生成脚本时出现的重大性能问题。
SSDT:我们修复了架构比较工具中架构偏差检测的逻辑,该逻辑曾导致需进行新的比较以重新启用脚本和发布操作。
已解决的安全公告
CVE-2019-0546
Visual Studio远程代码执行漏洞
当C++编译器不当处理特定组合的C++构造时,Visual Studio中存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。 如果当前用户使用管理用户权限登录,攻击者可以控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 安全更新通过更正 Visual Studio C++ 编译器处理某些 C++ 构造的方式来解决漏洞。
所有用户现在可以通过团队资源管理器连接到本地 TFS 服务器。
Visual Studio 15.8.3 不再在 GUI 生成期间为项目定义的项扩展 ItemDefinitionGroup 中的元数据(在 Visual Studio 15.8.2 中工作)。
Visual Studio中同一个文件有多个选项卡。
System.ArgumentException:参数不正确。 (HRESULT 中的异常:0x80070057 (E_INVALIDARG))。
找不到 LNK4099 PDB。
资产目录为空。
/analyze 对使用 /ZW 的 C++ 代码分析失败。
C++ 编译器代码优化 bug。
Xamarin.iOS 无法为图像视图选择图像资产。
引用包含资产目录中图像资产的共享项目的 iOS 项目无法在 Windows 上加载。
VS 15.8.6 中的 iOS 初始屏幕上没有填充图像。
在 VS2017 15.8 中进行联合/位域赋值时可能会出现代码生成错误。
修复 C# UWP 应用商店 1201 提交问题。
修复 C# UWP 包创建错误APPX1101:有效负载包含两个或多个具有相同目标路径的文件“System.Runtime.CompilerServices.Unsafe.dll”。
错误 MT2002:生成 Xamarin.iOS 项目时无法解析“System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder”引用自“System.Threading.Tasks.Extensions...”。
使用 AndroidClientHandler 时,无法重定向到相对 URL。
使用 C 编译器编译的未命名枚举的 typedef 的调试信息现已还原。
现在可以生成 delayimp.lib 的 Spectre 已缓解 x86 版本(已启用 /Qspectre 缓解)。
更改了如何加载 Xamarin.iOS 项目中的资产目录,以减少解决方案加载时间。
我们已更新Xamarin.Forms表单模板以使用最新版本。
我们修复了通过 Kestrel 调试 ASP.NET Core Web 应用程序的问题,其中会显示错误消息“无法配置 HTTPS 终结点”。 未指定服务器证书...“。
现在,可以通过使用特定的应用设置,从 Visual Studio 在应用服务中启用 AppInsights 站点扩展。
已解决的安全公告
CVE-2018-8599
诊断中心标准收集器服务权限提升漏洞
如果诊断中心标准收集器服务不正确地处理特定文件操作,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可能会获得提升的权限。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过确保诊断中心标准收集器服务正确模拟文件操作来解决漏洞。
Xamarin iOS 设计器不适用于 15.9 和 Xamarin.iOS 12.2.1.10.
我们改进了大型C++项目的增量链接的可靠性。
现在将解决某些矢量删除析构函数的 LNK2001“外部符号无法解析”错误。
对于大量使用链式调用的内联函数(涉及 lambda 或本地类作为参数或返回类型)的代码,编译器性能得到了改进。
15.9.1 版中的新增功能的详细信息
Windows 10 2018 年 10 月更新 SDK(内部版本 17763)现在是通用 Windows 平台开发工作负载的默认所选 SDK。
15.9 版中的主要新增功能摘要
现在可以导入和导出
安装配置文件
,该配置文件指定哪些工作负载和组件应随Visual Studio实例一起安装。
使用新符号包格式 (.snupkg) 改进了
NuGet 包的调试体验
。
调试器的回退功能
现在已在 C++ 中向企业客户开放。
C++ IntelliSense
现响应面向 Linux 的 CMake 和 MSBuild 项目的远程环境中的更改。
已对
UWP Desktop Bridge 框架包进行了更新
并添加了对 ARM64 C++ 本机桌面方案的支持。
我们在 MSVC 15.9 编译器中添加了对
range-v3 库
的支持。
修复了
F# 编译器
和
F# 工具
中的多个 bug。
为新的 TypeScript 功能的语义文件重命名和
项目引用
提供
语言服务支持
。
通过更新 Vue.js 模板并添加对使用 Jest 框架进行单元测试的支持,改进了 Node.js 开发。
我们添加了
SharePoint 2019
项目模板,以便可以将现有 SharePoint 2013 和 2016 项目迁移到 SharePoint 2019。
Visual Studio tools for
Xamarin
现在支持 Xcode 10。
我们改进了
Xamarin.Android 构建性能
。
我们为
通用 Windows 平台
开发人员添加了和改进功能,包括 ARM64 支持、最新的预览 SDK、更好的桌面桥应用程序的调试和 XAML 设计器改进。
对使用
已经过身份验证的包源
的体验进行了实质性的改善。
现支持针对基于 PackageReference 的项目的
锁定文件以实现重复还原
。
添加了对
NuGet 包的新许可证格式
的支持。
我们在 Visual StudioNuGet 客户端策略>使你能够锁定环境,以便仅安装受信任的包。
在 Visual Studio 中使用
.NET Core
变得更加可预测。
15.9 版中解决的首要问题
无法更改“查找所有引用”背景色。
“Visual C++ 资源编辑器包”加载失败。
如果事先未手动保存 XAML 文件,则 VS2017 v15.8 版本不会启动。
安装失败 - 清单签名验证失败。
更新 15.8.6 中断 Installer Projects。
使用箭头键向上滚动
导致Visual Studio向上翻页。
更新到 15.8.1 后,调试过程中数据提示框无法显示。
System.InvalidProgramException:公共语言运行时检测到无效的程序。
关闭 Visual Studio 后解决方案资源管理器不保持固定。
编辑器中的导航栏无法处理长方法名称。
启动 Blend 时出现编辑器包加载失败错误。
请参阅 Visual Studio 2017 版本 15.9 中修复的所有客户报告的问题。
开发者社区门户
15.9 版中的新增功能的详细信息
Visual Studio 2017 版本 15.9.0
发布日期:2018 年 11 月 13 日
15.9 版中的新增功能
Install
我们使得在多个 Visual Studio 安装中保持安装设置的一致性更容易。 现在可以使用 Visual Studio Installer 导出给定Visual Studio实例的 .vsconfig 文件。 此文件将包含有关已安装的工作负载和组件的信息。 然后,可以导入此文件,以将这些工作负载和组件选择添加到Visual Studio的另一个安装。
已支持使用基于可移植 pdb 的新符号包格式 (.snupkg)。 添加了工具,使你可从 NuGet.org 符号服务器等源
轻松使用和管理符号包
。
我们在 Visual Studio Enterprise Edition 的适用于 C++ 的
调试器中添加了“后退”功能
。 回溯功能使你能够回溯到过去,以查看之前的应用状态。
C++ IntelliSense 现在响应面向 Linux 的 CMake 和 MSBuild 项目的远程环境中的更改。 安装新的库或更改 CMake 项目时,C++ IntelliSense 将自动分析远程计算机上的新头文件,以实现完整无缝的 C++ 编辑体验。
我们更新了 UWP 桌面桥框架包,以匹配所有受支持的体系结构(包括 ARM64)Windows应用商店中的最新版本。
除了修复 60 个阻塞性错误之外,我们还为 MSVC 15.9 编译器添加了对
range-v3
库的支持,该支持在 /std:c++17 /permissive- 下可用。
Visual Studio中的零售 VCLibs 框架包已更新,以匹配 UWP 应用商店中的最新可用版本。
现已完全支持 ARM64 C++ 本机桌面方案(包括 VC++ 2017 可再发行版)。
我们在 C++ 17 的 charconv 标头中实现了浮点 to_chars() 的最短往返程十进制重载。 使用科学记数法,约是 sprintf_s() "%.8e" 的 10 倍快(对于单精度浮点),是 sprintf_s() "%.16e" 的 30 倍快(对于双精度浮点)。 本方法使用了Ulf Adams的新算法Ryu。
对 Visual C++ 编译器的标准符合性进行了一系列改进,标准符合性可能要求在严格符合性模式下进行源更改,可在
此处
找到这一系列改进。
我们已弃用 C++ 编译器 /Gm 交换机。 如果已显式定义,请考虑在生成脚本中禁用 /Gm 交换机。 或者,也可以安全地忽略针对 /Gm 的弃用警告,因为在使用“将警告视为错误”(/WX) 时不会将其视为错误。
F# 编译器
我们修复了一个错误,其中采用
byref
值的扩展方法可能更改不可变值。
改进了
byref
/
inref
/
outref
上的重载的编译错误信息,而非显示以前模糊的错误。
现已完全不允许使用
byref
上的可选类型扩展。 它们以前可以声明,但不可用,从而导致令人困惑的用户体验。
修复了在结构元组上使用
CompareTo
并产生使用别名的结构元组的类型等效项而造成运行时异常的 bug。
修复了在创作适用于 .NET Standard 的类型提供程序时使用
System.Void
可能无法在设计时查找
System.Void
类型的 bug。
修复了部分应用的可区分联合构造函数不匹配可区分联合的带批注或推论出的类型时可能发生内部错误的 bug。
我们在尝试获取表达式的地址(如访问属性)时修改了编译器错误消息,使其更清楚地表明它违反了
byref
类型的范围规则。
修复了在对方法或函数部分应用
byref
类型时,程序可能在运行时崩溃的错误。 此时会显示一条错误消息。
修复了
byref
和引用类型(例如
byref<int> option
)的无效组合会在运行时失败且不发出错误消息的问题。 现在可发出错误消息。
我们解决了使用 .NET Core SDK 生成的 F# 程序集的元数据未显示在Windows上的文件属性中的问题。 现在,可以通过右键单击Windows上的程序集并选择
Properties
来查看此元数据。
修复了在 F# 源中使用
module global
可能会导致Visual Studio无响应的 bug。
我们修复了一个漏洞,该漏洞导致使用
inref<'T>
的扩展方法不会显示在完成列表中。
修复了.NET Framework F# 项目的 Project Properties 中的 TargetFramework 下拉列表为空的 bug。
我们修复了一个错误,该错误导致创建面向 .NET Framework 4.0 的新 F# 项目时会失败。
F# 开源存储库
VisualFSharpFull 项目现在设置为默认启动项目,无需在调试之前手动设置该项目。 谢谢,
罗伯特·杰佩森
!
JavaScript 和 TypeScript 语言服务支持
我们添加了重构功能,以便在文件重命名后修正对该文件的引用。 我们还添加了对项目引用的支持,使你能够将你的 TypeScript 项目拆分为相互引用的独立版本。
我们已更新到最新的 Vue CLI 3.0 并改进了 Vue.js 模板文件中的 linting。 你也可以使用 Jest 框架来编写和运行单元测试。
添加了对
TypeScript 3.1
的支持。
SharePoint 2019 支持
我们添加了新的模板,可用于为 SharePoint 2019 创建项目。 你将能够将现有SharePoint项目从 SharePoint 2013 和 SharePoint 2016 迁移到新项目模板。
Visual Studio Tools for Xamarin
Visual Studio tools for Xamarin 现在支持 Xcode 10,这使你可以为 iOS 12、tvOS 12 和 watchOS 5 生成和调试应用。 有关可用新功能的更多详细信息,请参阅
使用 iOS 12 的准备工作
和
我们对 iOS 12 的介绍
。
Xamarin.Android 9.1 包括
初步构建性能改进
。 请参阅我们的
Xamarin.Android 15.8 与 15.9 版本构建性能比较
,以获取更多详细信息。
面向通用 Windows 平台开发人员的工具
最新的Windows 10 SDK(内部版本 17763)作为可选组件包含在通用 Windows 平台开发工作负荷中。
我们添加了对创建 MSIX 包的支持,既适用于通用 Windows 平台项目,也适用于 Windows 应用程序打包项目模板。 创建一个 。MSIX 包,应用程序的最低版本必须是最新的Windows 10 SDK(内部版本 17763)。
你现在可以构建 ARM64 UWP 应用程序。 对于 .NET UWP 应用程序,ARM64 仅支持 .NET Native,必须将应用程序的最低版本设置为 Fall Creators Update(内部版本 16299)或更高版本。
我们对 通用 Windows 平台 应用程序的 F5(生成 + 部署)速度进行了改进。 对于使用 Windows 身份验证到远程目标的部署,这种影响最为明显,但也会影响所有其他部署。
开发人员现在可以选择在生成面向 Windows 10 Fall Creators Update(内部版本 16299)或更高版本的 UWP 应用程序时使用 XAML 设计器时指定
Control 显示选项
。 选择“仅显示平台控件”可阻止设计器执行任何自定义控制代码,以提升设计器的可靠性。
XAML 设计器现可自动将引发可捕获异常的控件替换为回退控件,而非出现设计器崩溃。 回退控件带有黄色边框,提示开发人员,该控件在设计时已被替代。
Windows应用程序打包项目现在支持使用 Core CLR 调试器类型调试后台进程。
NuGet
NuGet 凭据提供程序改进
此版本显著改善了使用已经过身份验证的包源的体验,尤其适用于 Mac 和 Linux 用户:
Visual Studio、MSBuild、NuGet.exe和.NET现在支持新的凭据提供程序插件接口,该接口可由专用包主机(如
Azure Artifacts
)实现。 以前,仅 NuGet.exe 和Visual Studio接受凭据提供程序。
Visual Studio 版本(包括生成工具版本)现提供具有特定工作负荷的 Azure Artifacts 凭据提供程序,从而可在开发过程中轻松使用 Azure Artifacts 源。
若要使用这些改进,请安装
NuGet 包管理器
或
NuGet 目标和生成任务
组件或
.NET Core
工作负荷。
NuGet 程序包管理器 的改进
NuGet 现在支持对基于 PackageReference 的项目
锁定完全包封闭
,因此可支持包的重复还原。
Visual Studio NuGet 包管理器 UI 现在会显示使用新许可证格式的包的许可证信息。
新的许可证格式
以 SPDX 表达式或许可证文件的形式将许可证信息嵌入包中。
NuGet 安全性
我们引入了
NuGet 客户端策略
,使你能够配置包安全性约束。 这意味着你可以锁定环境以仅允许安装信任的包,方法如下:
禁止安装未签名的包。
根据作者签名定义受信任的签名列表。
根据存储库签名中的元数据定义受信任的 NuGet.org 包所有者的列表。
从此版本开始,适用于Visual Studio的 .NET Core 工具现在默认仅使用计算机上安装Visual Studio正式版的 .NET Core SDK 的最新稳定版本。 对于将来的预览版,这些工具将仅使用预览版.NET核心 SDK。
已解决的问题
请参阅 Visual Studio 2017 版本 15.9 中修复的所有客户报告的问题。
开发者社区 Portal
请参阅 Visual Studio 2017 版本 15.9 中的所有现有已知问题和可用解决方法。
Visual Studio 2017 已知问题
Visual Studio 2017 发行说明历史记录
有关 Visual Studio 2017 以前的版本的详细信息,请参阅
Visual Studio 2017 发行说明历史记录
页。
我们可能会使用基于 AI 的工具来分析通过 Visual Studio 和 Visual Studio 反馈收集的诊断数据(例如转储和跟踪),以帮助改进用户体验。 如果想要选择退出,请按照
此处
的步骤操作