← back
CVE-2018-19323criticalunder attackransomware

CVE-2018-19323

78Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 9.8epss 8.5%
from disclosure to weapon2441 days
Published on NVDDec 21
1st PoC+2441d
CISA KEV+1403d
exploitation probability
8.5%top 5% of all CVEs
observed exploitation
yesCISA + VulnCheck
2 public exploit(s)
Action required by CISAfederal deadline: 2022-11-14

Apply updates per vendor instructions.

Summary

Falha no driver de baixo nível GDrv, distribuído junto com utilitários da GIGABYTE para placas-mãe e placas de vídeo (APP Center, AORUS Graphics Engine, XTREME Gaming Engine, OC GURU II), que expõe uma IOCTL capaz de ler e escrever Machine Specific Registers (MSRs) do processador sem qualquer controle de acesso. Qualquer processo local, mesmo sem privilégios, consegue abrir handle para o driver e escrever em MSRs sensíveis, o que é usado como primitiva para execução de código em modo kernel e escalada de privilégio. O CVSS 9.8 (AV:N) publicado não reflete a realidade: o próprio pesquisador classifica a falha como "Remotely Exploitable: No / Locally Exploitable: Yes" — é uma vulnerabilidade estritamente local.

Technical detail

CVE-2018-19323 é uma das quatro falhas reportadas no mesmo advisory (CORE-2018-0007, SecureAuth Labs) sobre os drivers GPCIDrv e GDrv que a GIGABYTE embute em seus utilitários de monitoramento e overclock. A classe de falha é CWE-782 (Exposed IOCTL with Insufficient Access Control): o driver cria um device object acessível por qualquer processo (inclusive em integridade baixa) e implementa códigos de IOCTL que executam operações privilegiadas — nesse caso, leitura e escrita de MSRs via as instruções RDMSR/WRMSR — sem validar quem está chamando nem restringir quais registradores podem ser tocados.

MSRs controlam comportamento crítico da CPU, incluindo os registradores que apontam para o handler de SYSCALL/SYSENTER (IA32_LSTAR, IA32_SYSENTER_EIP). Um atacante que consiga escrever nesses registradores redireciona a rotina que o processador invoca ao entrar em modo kernel para código próprio, obtendo execução arbitrária em ring 0 a partir de um processo não privilegiado em ring 3.

O mesmo advisory documenta, nas CVEs vizinhas, primitivas relacionadas no mesmo par de drivers: CVE-2018-19320 é um memcpy arbitrário entre memória virtual (IOCTL 0xC3502808 no driver GIO/GDrv), e CVE-2018-19322 é leitura/escrita de portas de I/O mapeadas. As quatro CVEs compartilham a mesma causa raiz — drivers de suporte a hardware que expõem operações privilegiadas de CPU/memória a qualquer chamador sem checagem de token, ACL ou modo de integridade.

Vale notar uma divergência entre a descrição oficial da CVE ("AORUS GRAPHICS ENGINE before 1.57", "XTREME GAMING ENGINE before 1.26") e o advisory original da SecureAuth, que lista as versões vulneráveis testadas como AORUS GRAPHICS ENGINE 1.33 e anteriores e XTREME GAMING ENGINE 1.25 e anteriores — a numeração maior na descrição oficial provavelmente reflete as versões corrigidas pelo fornecedor após a divulgação, e não novas versões vulneráveis.

How it’s exploited

Exploração exige execução de código local no Windows, com o utilitário GIGABYTE afetado instalado e o driver GDrv carregado — não há vetor remoto, apesar do vetor CVSS AV:N publicado. Não é necessária autenticação privilegiada nem interação do usuário: o processo malicioso só precisa abrir um handle para o device (\\.\GIO ou equivalente) via CreateFile e enviar o código de IOCTL correspondente à operação de MSR com DeviceIoControl, algo que qualquer usuário local, inclusive em integridade baixa, consegue fazer por padrão.

Na prática, isso é usado como estágio de escalada de privilégio dentro de uma cadeia maior: um atacante com execução de código em user-mode (via outro exploit, phishing com payload, ou acesso físico/RDP a uma máquina com o utilitário instalado) usa o driver como "living-off-the-land LPE" — reaproveitando um driver assinado e legítimo para ganhar execução em kernel, técnica equivalente a BYOVD (Bring Your Own Vulnerable Driver), comum em ransomware e malware que precisa desabilitar EDR ou rodar com privilégios de SYSTEM/kernel.

A CISA incluiu a CVE no catálogo KEV em 24/10/2022 (prazo de correção 14/11/2022), confirmando exploração no mundo real, mas o catálogo não indica uso documentado em campanhas de ransomware nem detalha o ator ou a cadeia específica observada.

Versions

Affected
GIGABYTE APP Center v1.05.21 e anteriores; AORUS GRAPHICS ENGINE anterior a 1.57 (advisory original registra 1.33 e anteriores como testado); XTREME GAMING ENGINE anterior a 1.26 (advisory original registra 1.25 e anteriores como testado); OC GURU II v2.08. O advisório indica que outros produtos/versões podem ser afetados mas não foram testados.
Fixed in
Não há confirmação, nas fontes consultadas, de versão corrigida específica para GIGABYTE APP Center ou OC GURU II. A descrição oficial da CVE sugere que AORUS GRAPHICS ENGINE 1.57 e XTREME GAMING ENGINE 1.26 corrigem a falha, mas isso não foi validado contra um release note oficial do fornecedor disponível nas fontes.

How to protect

O advisory original registra que, no momento da divulgação, "the vendor did not provide fixes or workaround information". A GIGABYTE posteriormente publicou um aviso próprio de segurança (gigabyte.com/Support/Security/1801) e disponibiliza utilitários atualizados na página de suporte de gráficos, mas as fontes consultadas não confirmam números de versão corrigida para GIGABYTE APP Center nem para OC GURU II — a descrição oficial da CVE indica que AORUS GRAPHICS ENGINE 1.57 e XTREME GAMING ENGINE 1.26 já não seriam vulneráveis, mas isso não foi verificado contra um changelog oficial do fornecedor nas fontes disponíveis.

Se atualizar não for viável, o paliativo real é remover o software GIGABYTE de monitoramento/overclock (APP Center, AORUS Graphics Engine, Xtreme Gaming Engine, OC GURU II) e garantir que o driver GDrv/GIO/GPCIDrv não esteja carregado — verificar serviços e drivers instalados e desinstalar o utilitário elimina a superfície de ataque, ao custo de perder as funções de controle de LED, curva de ventoinha e overclock que o software oferece. Bloquear o carregamento do driver via política de controle de aplicação (assinatura, hash, ou lista de drivers vulneráveis conhecidos) também mitiga, mas exige suporte a esse tipo de controle no ambiente.

Não funciona como mitigação simplesmente restringir a conta de usuário do sistema operacional: o driver aceita chamadas de processos com privilégios baixos por design, então a falha não depende do nível de privilégio do usuário logado, apenas de o driver estar carregado e acessível.

How to detect

Não há log nativo do Windows que registre chamadas de IOCTL a drivers de terceiros por padrão. Detecção viável passa por monitoramento em nível de EDR/kernel: alertar sobre a criação de handles para os devices \\.\GIO, \\.\GPCIDrv64 (ou equivalentes) por processos que não sejam os utilitários GIGABYTE legítimos, e sobre chamadas DeviceIoControl com os códigos de controle documentados no advisory (ex.: IOCTL_GIO_MEMCPY 0xC3502808, IOCTLs de porta 0x9C402588/0x9C40258C). A presença do próprio driver vulnerável carregado no sistema (via listagem de drivers/serviços) já é o indicador mais confiável de exposição, independentemente de tentativa de exploração ter sido observada.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
The GDrv low-level driver in GIGABYTE APP Center v1.05.21 and earlier, AORUS GRAPHICS ENGINE before 1.57, XTREME GAMING ENGINE before 1.26, and OC GURU II v2.08 exposes functionality to read and write Machine Specific Registers (MSRs).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.