根据2024年8月9日,国家信息安全漏洞共享平台(CNVD)收录了Windows远程桌面许可服务远程代码执行漏洞(CNVD-2024-34918,对应CVE-2024-38077)。未经身份认证的攻击者可利用漏洞远程执行代码,获取服务器控制权限。目前,该漏洞的部分技术原理和概念验证伪代码已公开,厂商已发布安全更新完成修复。CNVD建议受影响的单位和用户安全即刻升级到最新版本。
一、漏洞情况分析
该漏洞存于Windows远程桌面许可管理服务(Remote Desktop License Service,RDL)中,RDL是Windows Server操作系统的一个服务,用于管理和颁发远程桌面连接(RDS)许可。攻击者无需任何前置条件,无需用户交互(零点击)便可直接获取服务器最高权限,执行任意操作。
RDL不是Windows Server操作系统的默认启用服务。默认情况下,Windows服务器远程桌面服务仅支持两个并发会话,在启用RDP多并发会话支持时,需要手动安装RDL服务。
2024年8月9日上午9时,研究人员在境外网站公开了RDL服务远程代码执行漏洞的部分技术原理和概念验证(POC)伪代码,该伪代码目前尚无法直接运行,研究者将其命名为狂躁许可(MadLicense)。RDL服务在解码用户输入的许可密钥包时,未正确验证解码后的数据长度与缓冲区大小之间的关系,从而导致堆缓冲区溢出。未经身份认证的攻击者利用该漏洞,通过远程向目标Windows Server服务器发送恶意构造的数据包,从而执行任意代码,实现对服务器的权限获取和完全控制。CNVD对该漏洞的综合评级为“高危”。
二、漏洞影响范围
漏洞名称 | Windows Server 远程桌面许可服务远程代码执行漏洞 |
漏洞类型 | 远程代码执行 |
漏洞CVE编号 | CVE-2024-38077 |
漏洞影响服务 | Windows Remote Desktop Licensing (RDL)服务 |
影响版本范围 | Windows Server 2000~2025 全版本未安装修复补丁均受影响 |
三、漏洞处置建议
特别提醒:修复漏洞前请进行充分测试,并务必做好数据备份和快照
一、排查方式
1. 检查系统补丁与build版本
- 使用
Win+R
组合键调出运行窗口,输入cmd
按回车按键打开控制台窗口。 - 输入
systeminfo
命令,检查系统安装补丁信息。
- 输入
winver
,检查系统build版本信息
判断方式:
- 1)根据操作系统版本找到对应补丁编号与Build版本号 - 2)若已安装对应补丁,则不受漏洞影响(若有两个补丁则任选一安装即可) - 3)若当前系统Build版本号大于或等于表格中的Build版本号,则不受漏洞影响。
操作系统版本 | 补丁编号 | Build版本号 |
Windows Server 2022 23H2 Edition (Server Core installation) | KB5040438 | 10.0.25398.1009 |
Windows Server 2022 (Server Core installation) | KB5040437 | 10.0.20348.2582 |
Windows Server 2022 | KB5040437 | 10.0.20348.2582 |
Windows Server 2019 (Server Core installation) | KB5040430 | 10.0.17763.6054 |
Windows Server 2019 | KB5040430 | 10.0.17763.6054 |
Windows Server 2016 (Server Core installation) | KB5040434 | 10.0.14393.7159 |
Windows Server 2016 | KB5040434 | 10.0.14393.7159 |
Windows Server 2012 R2 (Server Core installation) | KB5040456 | 6.3.9600.22074 |
Windows Server 2012 R2 | KB5040456 | 6.3.9600.22074 |
Windows Server 2012 (Server Core installation) | KB5040485 | 6.2.9200.24975 |
Windows Server 2012 | KB5040485 | 6.2.9200.24975 |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) | KB5040497或KB5040498 | 6.1.7601.27219 |
Windows Server 2008 R2 for x64-based Systems Service Pack 1 | KB5040497或KB5040498 | 6.1.7601.27219 |
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) | KB5040490或KB5040499 | 6.0.6003.22769 |
Windows Server 2008 for x64-based Systems Service Pack 2 | KB5040490或KB5040499 | 6.0.6003.22769 |
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) | KB5040490或KB5040499 | 6.0.6003.22769 |
Windows Server 2008 for 32-bit Systems Service Pack 2 | KB5040490或KB5040499 | 6.0.6003.22769 |
2. 检查RDL服务安装状态
- Win键+R运行powershell,执行命令
Get-WindowsFeature -Name RDS-Licensing
检查Install State结果:
- 未安装显示为Avaliable,不受漏洞影响 - 已安装显示为Installed,此情况下需要安装升级补丁,或关闭RDL服务,否则受漏洞影响
3. 检查RDL服务运行状态
- Win键+R运行
services.msc
- 检查remote desktop license服务是否运行:
- 1)未启用时状态显示为空
手动
,双击进入详情界面显示未已停止
,此情况不受漏洞影响 - 2)已启用时状态显示为
正在运行
,自动类型显示为自动
,此情况下需要安装升级补丁,或关闭RDL服务,否则受漏洞影响
二、整改修复
1. 安装更新补丁
微软官方
已发布针对该漏洞的修复方案
,受影响用户请通过官方链接
下载并更新补丁。
针对所有受影响
的资产,根据具体的Windows Server系统版本
,下载对应的补丁升级包,补丁下载地址:https://catalog.update.microsoft.com/Search.aspx?q=KB5040456
(此处修改为对应的补丁号)。
请务必尽快安排合适的时间对其进行升级。
2. 关闭RDL服务
对于暂无法安装更新补丁
的情况,微软公司建议在确认RDL服务非必要
的前提下,采取关闭RDL服务
等临时防范措施。
使用Win+R
组合键调出运行
窗口,输入powershell
按回车按键打开控制台窗口,执行以下命令
Stop-Service -Name "TermServLicensing" -Force
参考:
https://www.cnvd.org.cn/webinfo/show/10286
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38077
最后~欢迎关注我! @Linux学习的那些事儿
我的个人资源整理,满满都是干货: → 可按需访问领取
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!