CVE-2022-48618
Prioriza la corrección. Ella está bajo explotación confirmada por CISA.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Resumen
Falha no kernel da Apple (XNU) que permite a um atacante que já tenha capacidade de leitura e escrita arbitrária de memória contornar o Pointer Authentication (PAC), o mecanismo de mitigação de exploração baseado em hardware dos SoCs Apple Silicon/ARM64e. Não é uma vulnerabilidade de acesso inicial: ela serve para destravar a etapa final de uma cadeia de exploração de kernel, e a Apple confirma que foi usada contra versões de iOS anteriores à 15.7.1.
Detalle técnico
O componente afetado é o Kernel, conforme os advisories da Apple para iOS/iPadOS 16.2, macOS Ventura 13.1, tvOS 16.2 e watchOS 9.2. A descrição oficial é genérica ('improved checks'), sem detalhar a rotina exata ou o CWE, mas a natureza do bug — bypass de Pointer Authentication a partir de capacidade de read/write arbitrário — indica uma falha de verificação no mecanismo de assinatura de ponteiros (PAC) usado pelo ARM Pointer Authentication em SoCs Apple, algo próximo de CWE-693 (Protection Mechanism Failure) ou CWE-345 (verificação insuficiente de integridade).
PAC assina ponteiros (endereços de retorno, ponteiros de função, vtables) com um MAC criptográfico derivado de uma chave de hardware, para que corrupção de memória não permita redirecionar fluxo de execução sem falsificar essa assinatura. Um bug que 'contorna' PAC normalmente explora um caminho onde o kernel confia em um ponteiro sem revalidar sua assinatura, ou onde a primitiva de read/write do atacante pode ser usada para forjar/vazar o valor assinado. A Apple não publicou o mecanismo exato nem PoC.
O pré-requisito crítico é que o atacante já precisa ter uma primitiva de leitura e escrita arbitrária de memória no kernel — ou seja, esta CVE não é a porta de entrada, é o passo que neutraliza uma das principais defesas depois que outra vulnerabilidade (provavelmente de corrupção de memória) já deu esse acesso. Isso é consistente com o vetor CVSS AV:L/AC:H/PR:L: acesso local, alta complexidade, privilégio baixo — cenário de encadeamento (chaining), não exploração remota isolada.
Cómo se explota
Na prática, esta falha só tem valor dentro de uma cadeia de exploração: primeiro é necessário um bug primário (tipicamente corrupção de memória explorável via Safari/WebKit, um parser de mídia, ou outro componente exposto) que dê ao atacante controle de leitura/escrita arbitrária no espaço de memória do kernel. Só então o bypass de PAC descrito aqui permite falsificar ponteiros assinados e obter execução de código confiável no kernel sem que o PAC bloqueie o desvio de fluxo — a etapa final de escalonamento de privilégio completo no dispositivo.
A Apple afirma estar ciente de um relato de exploração contra versões de iOS anteriores à 15.7.1, o que posiciona este bug como parte de uma cadeia de exploração real usada em campo antes de dezembro de 2022 (quando o fix saiu). O CVE-ID só foi formalmente publicado em janeiro de 2024, mais de um ano depois do patch — prática comum da Apple de atribuir CVEs retroativamente a bugs corrigidos silenciosamente em versões anteriores após confirmação de exploração. A CVE está no catálogo KEV da CISA, confirmando exploração ativa documentada.
Não há detalhe técnico público sobre qual malware, spyware comercial ou operador foi associado à cadeia; a Apple não nomeia o software de vigilância. Não é uma falha explorável remotamente por si só nem sem pré-condição — sistemas sem uma vulnerabilidade primária de corrupção de memória no kernel não são afetados por este bug isoladamente.
Versiones
Cómo protegerse
Atualizar para as versões corrigidas elimina o bypass: macOS Ventura 13.1, iOS 16.2, iPadOS 16.2, tvOS 16.2 e watchOS 9.2, todas lançadas em 13 de dezembro de 2022. Dispositivos que não recebem mais atualizações do ramo em que o bug foi introduzido (versões de iOS anteriores à 15.7.1, incluindo hardware não elegível para iOS 16) permanecem expostos ao bypass de PAC caso sejam alvo de uma cadeia com bug primário equivalente — não há paliativo de configuração, já que o PAC é um mecanismo de hardware/firmware, não uma feature que se desativa ou reforça via política MDM.
Como esta falha depende de uma primitiva de read/write prévia, a mitigação mais eficaz na prática é reduzir a superfície de ataque que gera essa primitiva: manter WebKit/Safari, parsers de mídia e demais componentes atualizados, e usar o Modo de Bloqueio (Lockdown Mode) da Apple em dispositivos de alto risco, que reduz funcionalidades exploráveis remotamente e dificulta a formação da cadeia completa.
Não funciona como mitigação: assumir que Pointer Authentication por si só impede escalonamento de privilégio em dispositivos desatualizados — o objetivo desta CVE é justamente mostrar que essa suposição falha quando combinada com outro bug de memória.
Cómo detectar
Não há assinatura de rede ou log de sistema documentada publicamente para detectar tentativas de exploração deste bypass específico — ele opera inteiramente em memória do kernel, sem artefato de tráfego. Indicadores indiretos de comprometimento associados à cadeia de exploração usada contra iOS pré-15.7.1 (crashes anômalos de processos do kernel, comportamento de spyware móvel, ou os indicadores publicados por análises forenses de dispositivos móveis comprometidos, como as do Mobile Verification Toolkit) são o caminho prático, mas nenhum deles é atribuível de forma confiável e isolada a esta CVE.