Integer Overflow or Wraparound in Graphics Linux
Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.
Apply remediations or mitigations per vendor instructions or discontinue use of the product if remediation or mitigations are unavailable.
Summary
Corrupção de memória no driver gráfico do kernel Linux usado em chipsets Snapdragon, causada por um integer overflow/wraparound ao processar uma chamada IOCTL que atribui uma região de memória virtual compartilhada (SVM) para a GPU. A falha permite escalada de privilégios local a partir de um processo com acesso ao dispositivo do driver gráfico — não é exploração remota — mas está confirmada como ativamente explorada (KEV da CISA), o que a torna prioritária mesmo sem CVSS de 10.
Technical detail
A descrição oficial da Qualcomm fala em 'memory corruption in Graphics Linux while assigning shared virtual memory region during IOCTL call', classificada como CWE-190 (Integer Overflow or Wraparound). O padrão típico nesse tipo de falha em drivers Adreno/kgsl é: o driver recebe do userspace, via IOCTL, parâmetros que descrevem tamanho e/ou offset de uma região de memória a ser mapeada para uso compartilhado entre CPU e GPU; um cálculo aritmético sobre esses valores (soma de offset+tamanho, ou multiplicação de contagem×tamanho de elemento) sofre overflow, resultando em um valor menor do que o esperado ou um wraparound que engana a checagem de limites subsequente.
O resultado prático de um overflow não detectado nessa etapa é a alocação ou o mapeamento de uma região menor do que deveria, seguida de operações de leitura/escrita que assumem o tamanho original — gerando corrupção de heap ou de tabelas de páginas do kernel. Esse tipo de bug em drivers GPU costuma ser usado como primitiva de escrita arbitrária no espaço de kernel, base para escalada de privilégios.
O fornecedor não publicou (ao menos não no material disponibilizado aqui) o nome exato da função, do arquivo-fonte ou o número do IOCTL afetado. Isso é relevante: qualquer detalhe de implementação específico (ex.: nome de struct, ioctl code) que circule em blogs de terceiros deve ser tratado como não confirmado pela fonte primária até verificação cruzada com o bulletin oficial ou com o commit de correção no kernel Qualcomm.
How it’s exploited
O vetor é local (AV:L no CVSS informado): o atacante precisa já ter capacidade de executar código no dispositivo — por exemplo, um app instalado ou um processo com acesso ao nó de dispositivo do driver gráfico — para invocar a IOCTL vulnerável. Não requer privilégios elevados (PR:N) nem interação do usuário (UI:N), mas pressupõe que o atacante já tenha um ponto de entrada no sistema, o que normalmente vem de outra vulnerabilidade (ex.: um app malicioso, um exploit de navegador ou de outro componente que dá execução de código em modo usuário).
O objetivo final típico é escalada de privilégios: corromper memória do kernel a partir de userspace para obter execução com privilégios de kernel ou de root no dispositivo Android/Linux embarcado. Esse padrão — CVE em driver gráfico Qualcomm usada como segundo estágio de uma cadeia de exploração — é o mesmo observado historicamente em outras falhas KEV de GPU Qualcomm associadas a spyware comercial em campanhas de vigilância direcionada.
A presença no catálogo KEV da CISA confirma exploração ativa in-the-wild, mas o material disponibilizado não detalha o ator, a campanha ou o alvo específico. Também há PoC pública, o que reduz a barreira de reprodução para quem já tem o pré-requisito de execução local no dispositivo.
Versions
How to protect
A correção definitiva é aplicar o patch de firmware/kernel distribuído pela Qualcomm aos fabricantes de dispositivos (OEMs), referenciado no boletim de dezembro de 2023. Como Qualcomm fornece o componente para os OEMs e não diretamente ao usuário final, a mitigação prática depende da atualização de segurança do fabricante do aparelho (Android ou outro sistema embarcado baseado no chipset Snapdragon afetado) que incorpore esse boletim.
O material disponibilizado não traz a lista granular de SoCs Snapdragon e versões de driver afetadas nem um número de build/patch level específico — essa lista consta no boletim oficial da Qualcomm e deve ser conferida modelo a modelo antes de declarar um dispositivo corrigido. Não assuma que uma atualização genérica do Android cobre a falha: é preciso confirmar que o patch level de segurança do Android incorporado no dispositivo é igual ou posterior ao que referencia o boletim Qualcomm de dezembro de 2023.
Não há paliativo de configuração conhecido e documentado para essa falha (não é algo desabilitável via flag de driver sem perda de funcionalidade gráfica). Para dispositivos que não recebem mais atualização do fabricante, a exposição residual permanece; o controle compensatório realista é reduzir a superfície de ataque local — restringir instalação de apps não confiáveis e isolar processos não confiáveis, já que a exploração depende de execução de código local prévia.
How to detect
Não há assinatura de rede aplicável, já que a exploração ocorre localmente via chamada IOCTL a um driver de kernel — não há tráfego de rede a ser inspecionado. Em nível de host, o sinal mais próximo é monitoramento de chamadas anômalas ao dispositivo de driver gráfico (nó kgsl) por processos que normalmente não interagem com a GPU, ou crashes/kernel panics recorrentes no subsistema gráfico associados a apps específicos — mas isso não constitui detecção confiável e específica para esta CVE sem instrumentação dedicada (EDR mobile com telemetria de kernel) que não é padrão na maioria dos ambientes Android.