← voltar
CVE-2018-19323criticalsob ataqueransomware

CVE-2018-19323

78Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 9.8epss 7.8%
da publicação à arma2441 dias
Publicada no NVD21 de dez.
1ª PoC+2441d
CISA KEV+1403d
probabilidade de exploração
7.8%top 6% das CVEs
exploração observada
simCISA + VulnCheck
2 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-11-14

Apply updates per vendor instructions.

Resumo

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.

Detalhamento técnico

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.

Como é explorada

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.

Versões

Afetadas
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.
Corrigidas em
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.

Como se proteger

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.

Como detectar

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.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
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
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.