安装更新 KB4551853 和 KB4556441 后,如何阻止 Windows Server 2019 中的缓冲区溢出?

安装更新 KB4551853 和 KB4556441 后,如何阻止 Windows Server 2019 中的缓冲区溢出?

2020 年 5 月 13 日,我们的 Windows 服务器下载并开始安装两个更新:KB4551853 和 KB4556441。它于周四凌晨 1:05 重新启动并完成安装。然而,当人们周四早上上班时(无论是实际上班还是虚拟上班),服务器却无法正常工作;它没有响应。

内存泄漏

首先,我强制它重启,方法是切断电源,然后重新启动。然而,一旦它再次启动,它就出现了内存泄漏的症状。它运行良好大约一个小时,然后变得越来越没有响应,直到它不得不再次重新启动。
我尝试卸载更新 - 对于 KB4551853 来说这是可能的。然而,这对问题没有影响。我考虑回到还原点,但“系统保护”选项卡丢失了。也许我们没有安装相关的“角色”。
注意到有关 svchost.exe 出现缓冲区溢出的错误消息后,我运行了 Windows 的内存测试,但没有发现任何问题。BIOS RAM 测试也没有。确切的消息:

svchost.exe – 系统错误。
系统检测到此应用程序中基于堆栈的缓冲区溢出。此溢出可能允许恶意用户控制该应用程序。

任务管理器程序显示 RAM 已满(缓慢),但没有任何进程占用太多 RAM。它有 16GB RAM,但内存报告已满 99%,而占用最多 RAM 的进程仅使用了 17.1MB!Windows 开始菜单和设置似乎是最先受到内存泄漏影响的东西,也是我想使用但无法运行的第一个程序。

不是 RAM

我确实拆开了服务器并进行了清洁,然后重新安装了电源连接器和 RAM。但没有什么变化。在研究了如何保存 Active Directory 设置后,我使用 Windows Server 安装盘将操作系统文件系统从 FAT32 转换为 NTFS,然后尝试执行“系统状态”备份。但是,系统在完成之前就变得无响应了。

尝试重新安装

我尝试重新安装 Windows Server 2019,同时仍保留其设置。但是,重新安装失败,错误为 0x800706BA – 0x20003,在 SAFE_OS 阶段,INSTALL_UPDATES 操作期间出现错误。建议的修复包括确保 Windows 更新系统正常运行,因此我运行了 Windows 更新疑难解答,没有发现任何错误。它们还包括卸载非 Microsoft 防病毒软件,因此我从服务器上卸载了我们的 ESET 副本。

其他修复尝试

我也运行过,DISM /Online /Cleanup-image /Restorehealth然后运行和,但它们都没有发现错误,也没有什么区别。sfc /scannowchkdsk c:

未来可能采取的行动

  • 尝试禁用所有启动程序,看看是否可以找出导致问题的原因。
  • 我认为 Dell Support Assist 最近更新了;也许可以尝试卸载该软件。
  • 尝试重新安装 Windows Server,卸载 ESET 后它可能会起作用。

答案1

首先,我要感谢所有发帖的人,因为你们的所有帖子都很有帮助。
其次,我解决问题所用的方法是 datamills 的 Andrew Mills 建议给我的。方法是使用 Windows Server 的 Windows 诊断启动功能。您可以通过控制面板 > 管理工具 > 系统配置 > 常规选项卡访问它。它允许您在启动期间仅加载基本设备和服务,然后您可以逐个启用其他服务以查看哪个服务导致问题。这就是我实施原始问题底部列出的操作的方式。
使用这种方法,我惊讶地发现,罪魁祸首不是戴尔的支持助手,也不是与 ESET 或 Windows 更新有关的任何内容,而是 Tenable Nessus Essentials 的安装。我已为即将到来的 Cyber​​ Essentials Plus 审计安装了它,并且,由于对此类事情非常谨慎,当我注意到它与不受支持的 Winpcap 库捆绑在一起时,我在兼容模式下将其更新为受支持的 Npcap 库。但是,我怀疑 Nessus 与该库的兼容性不佳,这就是导致 Nessus 服务消耗所有 RAM 的原因。无论我对此的看法是对是错,删除 Nessus 后,服务器现在运行正常。我在另一台计算机上安装了 Nessus 进行审计,并保留了不受支持的 Winpcap 库,这并没有导致该计算机崩溃。

相关内容