# WWW2Exec - sips ICC Profile Out-of-Bounds Write (CVE-2024-44236) {{#include ../../banners/hacktricks-training.md}} ## Visão Geral Uma vulnerabilidade de escrita fora dos limites no parser de perfil ICC do Apple macOS Scriptable Image Processing System (`sips`) (macOS 15.0.1, sips-307) devido à validação inadequada do campo `offsetToCLUT` nos tags `lutAToBType` (`mAB `) e `lutBToAType` (`mBA `). Um arquivo ICC elaborado pode acionar gravações zero até 16 bytes além do buffer da pilha, corrompendo metadados da pilha ou ponteiros de função e permitindo a execução de código arbitrário (CVE-2024-44236). ## Código Vulnerável A função vulnerável lê e zera 16 bytes a partir de um deslocamento controlado pelo atacante sem garantir que esteja dentro do buffer alocado: ```c // Pseudocode from sub_1000194D0 in sips-307 (macOS 15.0.1) for (i = offsetToCLUT; i < offsetToCLUT + 16; i++) { if (i > numberOfInputChannels && buffer[i] != 0) buffer[i] = 0; } ``` Apenas uma verificação `offsetToCLUT <= totalDataLength` é realizada. Ao definir `offsetToCLUT == tagDataSize`, o loop indexa até 16 bytes além do final de `buffer`, corrompendo os metadados da heap adjacente. ## Etapas de Exploração 1. **Criar perfil `.icc` malicioso:** - Construa o cabeçalho ICC (128 bytes) com a assinatura `acsp` e uma única entrada de tag `lutAToBType` ou `lutBToAType`. - Na tabela de tags, defina `offsetToCLUT` igual ao `size` da tag (`tagDataSize`). - Coloque dados controlados pelo atacante imediatamente após o bloco de dados da tag para sobrescrever os metadados da heap. 2. **Acionar a análise:** ```bash sips --verifyColor malicious.icc ``` 3. **Corrompimento de metadados da heap:** As gravações zero fora da faixa sobrescrevem os metadados do alocador ou ponteiros adjacentes, permitindo que o atacante se aproprie do fluxo de controle e consiga execução arbitrária de código no contexto do processo `sips`. ## Impacto A exploração bem-sucedida resulta em execução remota de código arbitrário com privilégios de usuário em sistemas macOS que executam o utilitário `sips` vulnerável. ## Detecção - Monitore transferências de arquivos em protocolos comuns (FTP, HTTP/S, IMAP, SMB, NFS, SMTP). - Inspecione arquivos transferidos com a assinatura `acsp`. - Para cada tag `mAB ` ou `mBA `, verifique se o campo `Offset to CLUT` é igual ao `Tag data size`. - Marque como suspeito se essa condição for atendida. ## Referências - Blog da ZDI: CVE-2024-44236: Vulnerabilidade de Execução Remota de Código no Utilitário sips da Apple macOS https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos - Atualização de Segurança da Apple de Outubro de 2024 (patch enviando CVE-2024-44236) https://support.apple.com/en-us/121564 {{#include /banners/hacktricks-training.md}}