1 pontos por GN⁺ 2024-09-14 | 1 comentários | Compartilhar no WhatsApp
  • Foi descoberta uma vulnerabilidade zero-click no Calendar do macOS
  • Um invasor pode adicionar ou excluir arquivos arbitrários dentro do ambiente sandbox do Calendar
  • Em combinação com execução de código malicioso e evasão de proteções de segurança, isso pode comprometer dados sensíveis do iCloud Photos do usuário
  • A Apple corrigiu todas as vulnerabilidades entre outubro de 2022 e setembro de 2023

Detalhes da vulnerabilidade

Etapa 1: vulnerabilidade de gravação e exclusão arbitrária de arquivos no Calendar (CVE-2022-46723)

  • Um invasor pode incluir anexos de arquivo por meio de um convite de calendário malicioso
  • O nome do arquivo do anexo não é validado adequadamente
  • É possível realizar um ataque de directory traversal definindo um caminho arbitrário na seção ATTACH
  • Exemplo: “FILENAME=../../../PoC.txt”
  • O arquivo é adicionado em ~/Library/Calendar/PoC.txt
  • Se o arquivo já existir, ele é salvo como “PoC.txt-2”
  • Quando o evento/anexo enviado pelo invasor é excluído, o arquivo original (PoC.txt) é removido
  • Essa vulnerabilidade pode ser usada para remover arquivos existentes no sistema de arquivos
  • A vulnerabilidade existe no macOS Montrey 12.5. No macOS 13.0 beta4, não é vulnerável

Etapa 2: obtenção de execução remota de código (RCE) usando a vulnerabilidade de gravação arbitrária de arquivos

  • Foi descoberta pouco antes do lançamento do macOS Ventura
  • Ao usar o processo de atualização de versão do macOS, é possível obter execução remota de código por meio do recurso Open File do Calendar
  • O exploit de RCE é acionado ao infectar vários arquivos
Arquivo injetado #1: 000Hacked-$RANDOM.calendar
  • Contém dados de calendário que parecem ser dados de calendário sugeridos pela Siri
  • Inclui recursos de evento recorrente e alerta
Arquivo injetado #2: arquivo CalendarTruthFileMigrationInProgress
  • Atualiza e mescla calendários existentes em um novo banco de dados
Arquivo injetado #3: CalPoCInit.dmg
  • Um alerta incluído no evento do calendário abre o arquivo
  • O CalPoCInit.dmg contém uma referência apontando para um servidor Samba externo
Arquivo injetado #4: stage1.url
  • Um segundo alerta incluído no evento do calendário abre o arquivo
  • Contém uma URL apontando para um aplicativo em um compartilhamento Samba montado
Arquivo injetado #5: stage2.url
  • Um terceiro alerta incluído no evento do calendário abre o arquivo
  • Executa um aplicativo malicioso sem interação do usuário

Etapa 3: acesso a dados sensíveis do Photos

  • Ao alterar a configuração do Photos, torna-se possível acessar fotos armazenadas no iCloud
  • É possível contornar a proteção TCC e exfiltrar dados sensíveis do usuário

Acesso a arquivos do iCloud por meio da alteração da configuração do Photos

  • O invasor cria um arquivo de configuração que define a System Photo Library do Photos para outro caminho
  • Quando PhotosPoC.sh é executado, o novo arquivo de configuração é importado
  • A configuração original é salva em backup e a nova configuração é armazenada em /var/tmp/mypictures/
  • O Photos é iniciado com a nova System Photo Library e a sincronização com o iCloud é ativada

A cadeia completa

  • É necessário superar todos os obstáculos de segurança do macOS ao longo de várias etapas
  • A sandbox é contornada, e truques com SMB são usados para driblar as medidas de mitigação do Gatekeeper
  • A proteção TCC é contornada, permitindo acesso a dados sensíveis

Linha do tempo

  • 2022-08-08: reportadas gravação e exclusão arbitrária de arquivos na sandbox do Calendar
  • 2022-10-24: corrigido no macOS Monterey 12.6.1 e Ventura 13
  • 2022-11-14: PoC enviado, método para execução arbitrária de código usando a vulnerabilidade do Calendar
  • 2022-12-04: PoC enviado, método para acessar fotos do iCloud
  • 2023-02-20: crédito e adição do CVE-2022-46723
  • 2023-03-27: correção do bypass do Gatekeeper no macOS Ventura 13.3
  • 2023-09-26: correção e crédito da vulnerabilidade do Photos CVE-2023-40434
  • 2023-10-09: anúncio de bug bounty relacionado ao bypass do Gatekeeper e à vulnerabilidade do Photos
  • 2023-12-21: crédito do bypass do Gatekeeper CVE-2023-40433

Resumo do GN⁺

  • Este artigo trata de uma vulnerabilidade zero-click no Calendar do macOS e explica como ela pode permitir que um invasor acesse dados sensíveis do iCloud Photos do usuário
  • A cadeia de vulnerabilidades passa por várias etapas para contornar a sandbox, o Gatekeeper e a proteção TCC, possibilitando execução remota de código e acesso a dados sensíveis
  • O artigo fornece informações importantes para pesquisadores de segurança e usuários de macOS, destacando que a Apple corrigiu essas vulnerabilidades
  • Outros projetos com funcionalidade semelhante incluem outros aplicativos de calendário, como o Google Calendar

1 comentários

 
GN⁺ 2024-09-14
Comentários no Hacker News
  • Se uma big tech não paga a recompensa, é bem provável que exista um motivo legítimo

    • Programas de recompensa são feitos para pagar por envios válidos
    • Não pagar a recompensa vai contra o objetivo do programa
    • A equipe que opera o programa é incentivada a pagar mais recompensas
  • Eu não uso o iCloud Photo Library, mas é estranho que, quando a localização da biblioteca de fotos é alterada, a nova localização não fique protegida

    • Depois de mudar a biblioteca de fotos do sistema, o app Photos deveria proteger esse diretório
    • Testando em um sistema Sonoma 14.6.1, quando uma nova biblioteca de fotos é criada em ~/Pictures, o acesso é negado
    • Porém, quando é criada em /tmp, o acesso é permitido
    • Se a Apple oferece suporte ao recurso de mover a biblioteca de fotos para qualquer lugar do sistema de arquivos, deveria aplicar a proteção adequada
  • Existe outra forma de manipular a flag de quarentena

    • Sistemas demais têm a capacidade de modificar essas flags
  • A primeira etapa por si só já é uma vulnerabilidade grave

    • O atacante pode definir um caminho arbitrário na seção ATTACH e realizar um ataque de directory traversal
  • Um atacante pode roubar o iCloud Photos da vítima por meio de um convite malicioso de calendário

    • Fico me perguntando se usuários de macOS podem enviar convites aleatórios para qualquer pessoa
  • Se o arquivo especificado pelo atacante já existir, ele é salvo como "PoC.txt-2"

    • Mais tarde, quando o evento/anexo é excluído, o arquivo original é removido
    • Essa vulnerabilidade pode ser usada para remover arquivos existentes no sistema de arquivos
  • Não gostei do status da recompensa

    • Fico curioso se é comum para pesquisadores de segurança esperar tanto tempo assim na Apple ou em outras empresas FAANG
  • Sinto uma emoção toda vez que aparece uma vulnerabilidade de segurança que não é de memory safety

    • É divertido pensar que o tempo e a energia investidos em Rust podem acabar sendo desperdiçados por um bug de path traversal
  • Fico me perguntando se o Lockdown Mode impede isso

  • É um exploit bem antigo

    • Lembro de ter lido há uns 10 anos sobre nomes de arquivo contendo caminhos