CVE-2015-1130
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Falha de bypass de autenticação no XPC do Admin Framework do OS X, conhecida como "Rootpipe", que permite a um usuário local sem privilégios executar operações privilegiadas de root sem fornecer credenciais válidas. É crítica porque elimina o prompt de senha do administrador e entrega escalonamento completo de privilégios a partir de uma sessão local comum — por isso está no catálogo KEV da CISA mesmo sendo de 2015.
Detalhamento técnico
O problema (CWE-254, uso incorreto de recurso de segurança) está na forma como o serviço privilegiado exposto via XPC pelo Admin Framework valida quem está chamando seus métodos. Em versões mais antigas o helper é acessado através de Admin.framework (classes Authenticator/ToolLiaison); em versões mais recentes, através de SystemAdministration.framework (classe WriteConfigClient). Em ambos os casos, o daemon privilegiado aceita uma referência de autorização inválida ou vazia (nil) como se fosse uma autenticação bem-sucedida, em vez de verificar corretamente o entitlement/direito do processo chamador antes de conceder acesso à sua interface XPC.
Com essa checagem quebrada, o processo cliente não-privilegiado obtém um proxy remoto (remoteProxy) do serviço, que expõe métodos como createFileWithContents:path:attributes:, capazes de escrever arquivos arbitrários no disco com atributos de permissão arbitrários — incluindo o bit setuid (04777) — sendo executados pelo daemon com privilégios de root.
O atacante controla o conteúdo do arquivo a ser escrito, o caminho de destino e os atributos de permissão. Não há elevação de nenhum outro componente do sistema: o vetor inteiro passa por essa interface XPC malformada dentro do Admin Framework.
Como é explorada
O vetor é estritamente local: o código de exploração (PoC público de Emil Kvarnhammar, o próprio descobridor, disponível no Exploit-DB) roda como um processo comum do usuário, sem privilégios administrativos, e usa PyObjC para carregar diretamente o framework privado relevante, chamar authenticateUsingAuthorizationSync_ passando uma referência de autorização nula/inválida, obter o proxy remoto do serviço privilegiado e então instruí-lo a gravar um binário arbitrário com permissão setuid root em qualquer caminho do sistema de arquivos.
Não exige senha do usuário, não exige que o usuário já seja membro do grupo admin, e não depende de engenharia social — apenas acesso local (shell ou GUI) à máquina vulnerável. A complexidade de exploração é baixa: o PoC é direto, sem necessidade de heap grooming, race conditions ou bypass de ASLR/mitigação de memória, porque o bug é lógico (falha de checagem de autorização), não de corrupção de memória.
O resultado final é escalonamento total de privilégios: de usuário padrão para root, via criação de um binário setuid controlado pelo atacante que pode ser executado a seguir para obter shell root. A CVE está no catálogo KEV da CISA (adicionada em 2022, muito depois da publicação original), o que indica exploração confirmada em campo, mesmo tratando-se de uma falha antiga e já corrigida há anos — relevante para ambientes que ainda rodam OS X Yosemite sem atualização.
Versões
Como se proteger
A correção oficial da Apple está na atualização OS X Yosemite v10.10.3, distribuída também como Security Update 2015-004, que corrige a checagem de entitlements no XPC do Admin Framework. O advisory da Apple (HT204659) lista o impacto especificamente para "OS X Yosemite v10.10 to v10.10.2" — não há, nas fontes usadas aqui, confirmação oficial de backport desse CVE específico para ramos anteriores ao Yosemite (Mountain Lion, Mavericks), então quem ainda opera essas versões deve tratar a exposição como não coberta por este patch específico, sem assumir proteção.
Não existe paliativo de configuração real para essa falha: o problema é uma checagem ausente/incorreta dentro de um binário do sistema (o serviço privilegiado do Admin Framework), não um parâmetro exposto ao administrador. A única mitigação efetiva é aplicar a atualização. Como controle compensatório em máquinas que não podem ser atualizadas, resta reduzir o número de contas locais não confiáveis com acesso à sessão (a falha exige apenas execução de código local, então qualquer usuário — incluindo processos comprometidos por outro vetor — já é suficiente).
Vale notar: dado que essas versões do OS X estão fora de suporte há anos, atualizar para o Yosemite 10.10.3 hoje não é uma mitigação de longo prazo — o caminho correto em 2024+ é migrar para uma versão de macOS atualmente suportada, já que todo o ramo Yosemite acumula outras vulnerabilidades não corrigíveis.
Como detectar
Não há assinatura de rede, já que o vetor é puramente local — a exploração ocorre inteiramente via chamadas XPC/Objective-C dentro da máquina, sem tráfego externo. Em ambiente de EDR/monitoramento local, sinais possíveis incluem: criação inesperada de arquivos com bit setuid (04777) por processos do serviço privilegiado do Admin Framework (writeconfig ou processo equivalente do SystemAdministration.framework), chamadas de processos não-administrativos carregando Admin.framework ou SystemAdministration.framework diretamente, e uso de authenticateUsingAuthorizationSync com referência de autorização nula. Não há um indicador de comprometimento amplamente documentado ou confiável publicado pelos pesquisadores originais além da observação do próprio PoC — trate a ausência de log nativo como uma limitação real de visibilidade nesse ataque.