O macOS 27.2.1 faz o curl parar de confiar na eMudhra. Veja o que eu verificaria no meu app para Mac
Por Justinas Rolando, criador do MacPip
Em 9 de novembro de 2026, a Apple lançou o macOS 27.2.1, com 26.7.3 e 15.8.3 para Macs mais antigos. Além de oito correções de segurança, eles fecham uma brecha deixada pelo comprometimento dos certificados da eMudhra: desde 19 de outubro, o Safari, o Mail e os apps que usam os frameworks de rede e segurança da Apple já recusavam 12 certificados ruins, mas ferramentas de linha de comando como curl, git, python3 e openssl liam o /etc/ssl/cert.pem e continuavam aceitando. As atualizações removem cinco certificados raiz desse arquivo, incluindo o AAA Certificate Services. Se seu app, instalador ou script de atualização usa essas ferramentas, ou traz a própria lista de raízes confiáveis, teste seus downloads e seus próprios servidores nas novas versões.
A maioria das atualizações do Mac eu instalo e esqueço. O macOS 27.2.1, lançado em 9 de novembro, é uma que eu leria com atenção se fizesse apps para Mac, porque muda em quais certificados algumas das ferramentas de todo Mac confiam. A Apple o lançou junto com o macOS Tahoe 26.7.3 e o Sequoia 15.8.3 para Macs mais antigos, e os três trazem a mesma mudança.
Aqui está o que aconteceu, quem é afetado e o que eu testaria.
O que aconteceu
- Oito autoridades certificadoras intermediárias foram comprometidas. A página de suporte da Apple sobre a eMudhra diz que as chaves privadas de oito CAs intermediárias da eMudhra foram comprometidas. Seis delas emitem os certificados que os sites usam para https. Com essas chaves, alguém poderia criar um certificado que parece válido para qualquer site. A eMudhra e a Sectigo revogaram os certificados afetados.
- As chaves eram minúsculas. O MacRumors informa que uma investigação da Mozilla encontrou valores de chave tão pequenos que era trivial recuperá-los. O MacRumors também disse em outubro que não havia evidência de que as chaves tinham sido usadas.
- A Apple os bloqueou em outubro, mas não em todo lugar. A partir de 19 de outubro, a Apple bloqueou 12 desses certificados no Safari, no Mail e nos apps que usam os frameworks de rede e segurança da Apple, sem precisar de atualização.
- As ferramentas de linha de comando eram a brecha. A página da Apple cita curl, git, python3, ruby, perl e openssl. Elas conferem os certificados no arquivo
/etc/ssl/cert.peme, para tudo que leva a uma raiz desse arquivo, ignoram o bloqueio da Apple. - O 27.2.1 fecha a brecha. As ferramentas de linha de comando deixam de aceitar esses certificados, e cinco raízes são removidas de
/etc/ssl/cert.pem: emSign ECC Root CA - G3, AAA Certificate Services, emSign Root CA - G1, emSign Root CA - C1 e emSign ECC Root CA - C3. A página da Apple diz que o 26.7.3 e o 15.8.3 incluem a mesma proteção.
As mesmas atualizações corrigem outros oito bugs de segurança, no Mensagens, no AirPlay e no Bluetooth, segundo o MacRumors. A Apple não disse que algum deles tenha sido usado em ataques.
Por que um criador de apps de Mac deveria se importar
Se seu app é um app Swift comum que fala com a internet usando URLSession, ele provavelmente já estava coberto em outubro. A página da Apple fala de apps que usam seus frameworks de rede e segurança, e Howard Oakley, citado por Michael Tsai, diz que apps feitos com as APIs padrão da Apple usam o repositório de confiança do macOS.
Os apps que não estavam cobertos são os que muitos criadores independentes lançam:
- Apps que rodam curl, git ou python3 por baixo dos panos. Auxiliares de download, scripts de instalação, baixadores de modelos para apps de IA local, ferramentas de desenvolvimento que usam git.
- Apps com a própria lista de raízes confiáveis. Oakley cita o Chrome e outros navegadores Chromium, produtos da Mozilla e da Microsoft e alguns apps Electron. Ele também diz que Python, Java e Go, e possivelmente Rust ou Ruby, podem ser afetados. A página da Apple diz que ferramentas com a própria lista de raízes não usam o bloqueio dela nem o
/etc/ssl/cert.pem.
Então a correção de outubro pode não ter chegado ao seu app, e a de novembro também pode não chegar se ele trouxer as próprias raízes.
Há também outro lado. O AAA Certificate Services é uma raiz antiga da Sectigo que assinou muitos certificados comuns. A página da Apple avisa que ferramentas que usam apenas /etc/ssl/cert.pem podem não conseguir verificar alguns sites cujas cadeias passam pelas raízes removidas. Se seu servidor de download, feed de atualização ou API de licença for um deles, o curl em um Mac atualizado pode começar a recusá-lo.
O que eu conferiria esta semana
Estes são os meus próprios passos, não os da Apple.
- Atualize um Mac para o 27.2.1 e teste os downloads pela linha de comando. Rode seu script de instalação, seu
brew installse você tiver um cask, ecurl -Inos endereços de download, appcast e licença. Um certificado recusado aparece como erro, não como página lenta. - Olhe a cadeia de certificados do seu site. Rode
openssl s_client -connect yourapp.com:443 -showcertse leia as linhas do emissor. Se aparecer eMudhra, emSign ou AAA Certificate Services, peça à sua hospedagem ou a quem vende o certificado uma cadeia que termine em outra raiz. - Descubra qual repositório de confiança seu app realmente usa. Electron, Go, Rust com raízes embutidas, Python com certifi e Java trazem o seu próprio. Atualize o runtime ou o pacote de raízes para uma versão que remova os certificados ruins e avise nas notas de lançamento.
- Tenha uma resposta de suporte pronta. Se alguém com um Mac mais antigo não conseguir instalar atualizações, a página da Apple tem os passos para remover as raízes manualmente. Eu colocaria o link da página da Apple em vez de colar num e-mail comandos que usam sudo.
- Avise as pessoas para atualizarem. Se quem usa seu app é mais técnico, uma nota curta no próximo lançamento ou na newsletter não custa nada.
- Confira o arquivo em um Mac de teste. A página da Apple traz o comando abaixo, que não mostra nada quando as duas raízes principais já foram removidas.
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/cert.pem | openssl pkcs7 -print_certs -noout | grep -E 'emSign ECC Root CA - G3|AAA Certificate Services'
O que eu não faria
Eu não desligaria a verificação de certificados num script só para fazer um erro sumir. Essa é justamente a única coisa que toda essa mudança protege. E eu não diria aos usuários que o Mac deles foi hackeado. Não há sinal de que as chaves foram usadas, e a maioria dos apps já estava protegida em outubro.
O ponto de vista do MacPip
O MacPip não verifica em quais certificados um app confia. As listagens são analisadas automaticamente quando enviadas, e um selo azul só significa que uma pessoa testou o app em uma data. Se você cria uma ferramenta para desenvolvedores ou um app de segurança e privacidade, é quem mais provavelmente tem um script ou runtime embutido afetado por isso, então vale uma hora do seu tempo.
Novidade de hoje: o verificador de manifesto de privacidade. Cole seu PrivacyInfo.xcprivacy e ele confere cada tipo de dado, finalidade e código de motivo obrigatório, como CA92.1, com as listas da própria Apple. Ele também diz o que a Apple pede no Mac e o que não pede. Roda na página e nada é enviado. O guia do Info.plist e o guia de notarização estão logo ao lado. E se seu app para Mac ainda não está no MacPip, listar é grátis.
Fontes
- Suporte da Apple: sobre o comprometimento da autoridade certificadora eMudhra (publicado em 9 de novembro de 2026)
- Suporte da Apple: Apple security releases
- MacRumors: macOS 27.2.1 Fixes eMudhra Certificate Flaw in Command-Line Tools
- MacRumors: Apple blocks compromised eMudhra certificates (25 de outubro de 2026)
- MacRumors: Here's What Apple Fixed in iOS 27.2.1 and macOS 27.2.1
- Michael Tsai: eMudhra Intermediate CA Compromise
Continue lendo
- Claude Fable 5.2 and Mythos 5.2: what's new, the benchmarks, and what it means for your MacClaude Fable 5.2 and Mythos 5.2 came out on November 9, 2026. Anthropic's benchmarks as charts, the prices, what changes on a Mac, and four free tools.
- As Live Activities estão chegando à barra de menus do Mac. Veja o que eu faria com meu app para MacO beta do macOS 27.3 coloca as Live Activities na barra de menus dos Macs com Apple silicon, e os apps para Mac podem iniciar as suas. O que mudou, os limites e o que testar primeiro.
- A memória está deixando os Macs mais caros. Isto é o que eu faria com o meu app de MacA Apple diz que a memória vai manter os Macs escassos e mais caros até 2027, e o Mac mais barato tem 8 GB. Por que isso importa para o seu app de Mac e as verificações para fazer esta semana.
- A Apple agora deixa você falar com quem cancela. Eis o que eu faria com o meu app de MacDesde 4 de novembro, as assinaturas da App Store podem mostrar uma mensagem ou oferta quando alguém cancela. As regras, o que a Apple diz fazer e o que verificar no Mac.
- A Apple vai incluir duas perguntas de classificação etária. Veja o que eu faria com meu app de MacA partir de 16 de novembro, o App Store Connect pergunta sobre localização compartilhada e recursos de relacionamento, e todo app precisa responder até 12 de janeiro de 2027. O que mudou e o que fazer.
- O Siri AI agora está aberto a todos os desenvolvedores. Veja o que eu faria com o meu app para MacA Apple abriu o Siri AI para todos os desenvolvedores na beta do macOS 27.3. O que mudou, o que você pode e não pode publicar por enquanto e um plano curto para um app pequeno para Mac.
- Os Macs com tela touch chegam 6 de novembro. Isto é o que eu verificaria no meu app de MacOs primeiros Macs touch da Apple chegam 6 de novembro. O que mudou, o que a Apple diz para os desenvolvedores fazerem e uma lista curta de coisas para testar no seu app de Mac.
- Apresentando o MacPipO que é o MacPip, por que eu o criei, como funcionam a listagem e o dia de lançamento, o que um selo azul realmente significa e os números reais dos primeiros dias.
- Como lançar um app para Mac: um checklist que cabe em uma páginaO que fazer antes, no dia e depois do lançamento de um app para Mac: assinatura, sua página, diretórios, Product Hunt, Show HN e o que medir.
- Como escrever uma descrição de uma linha que diga o que seu app para Mac fazUm jeito simples de escrever a linha abaixo do nome do seu app para Mac: diga qual é o trabalho, corte o exagero e teste com alguém que nunca viu o app.
- Assinatura e notarização, em termos simples, para quem está fazendo o primeiro app para MacO que cada etapa faz (assinatura de código, notarização e stapling), em que ordem, o que seus usuários veem sem elas e como verificar o seu próprio build.
- Quanto vale, honestamente, um link dofollow, de um site que oferece umO que significa dofollow, o que o Google diz sobre links, por que um link de um diretório novo vale pouco hoje e o que fazer em vez de comprar links.