tihomirocrew/cve-2026-3437

GitHub: tihomirocrew/cve-2026-3437

针对 Portwell 驱动 portwell.sys 中 MmMapIoSpace 未校验参数导致的任意物理内存读写漏洞的利用代码与分析。

Stars: 0 | Forks: 0

# cve-2026-3437 `portwell.sys`(Portwell Engineering Toolkits v4.8.2)中通过 `MmMapIoSpace` 实现的任意物理内存读写。通过与驱动的 IOCTL 接口交互,可实现 LPE/SYSTEM 提权以及 BYOVD。 ## 分析 该驱动程序注册了一个 `IRP_MJ_DEVICE_CONTROL` 的分发例程,以处理来自用户模式的 `DeviceIoControl` 调用。 ![驱动入口](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/9d3785759d193511.png) 在分发例程内部,我们可以找到对 `sub_11F80` 的调用。 ![写物理内存调用](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/aed0620ecd193517.png) 查看该函数内部,可以发现以下内容: - 通过 `MmMapIoSpace` 使用用户提供的物理地址和数据实现任意物理内存写入 - 没有对用户提供的参数进行适当的验证 ![写物理内存](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b87869a5c4193522.png) 回到分发例程,我们还可以找到对 `sub_11E40` 的调用。 ![读物理内存调用](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6357b74a30193528.png) 查看该函数内部,可以发现以下内容: - 通过 `MmMapIoSpace` 实现任意物理内存读取 - 没有对用户提供的参数进行适当的验证 ![读物理内存](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/187770b76a193533.png) ## 用法 ``` sc create portwell binPath=C:\windows\temp\portwell.sys type=kernel sc start portwell .\cve-2026-3437.exe ``` ## 参考 - 🔍 [SentinelOne 分析](https://www.sentinelone.com/vulnerability-database/cve-2026-3437/) - 🛡️ [LOLDrivers](https://www.loldrivers.io/drivers/84f92ac1-1e72-420d-9cc0-65c838b90a4d/) - 📋 [NVD 记录](https://nvd.nist.gov/vuln/detail/CVE-2026-3437)
标签:0day挖掘, BYOVD, UML, Web报告查看器, Windows驱动, 内核安全, 协议分析, 权限提升