- 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
Comentários no Hacker News
Se uma big tech não paga a recompensa, é bem provável que exista um motivo legítimo
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
Existe outra forma de manipular a flag de quarentena
A primeira etapa por si só já é uma vulnerabilidade grave
Um atacante pode roubar o iCloud Photos da vítima por meio de um convite malicioso de calendário
Se o arquivo especificado pelo atacante já existir, ele é salvo como "PoC.txt-2"
Não gostei do status da recompensa
Sinto uma emoção toda vez que aparece uma vulnerabilidade de segurança que não é de memory safety
Fico me perguntando se o Lockdown Mode impede isso
É um exploit bem antigo