十天后,macOS 上的 Git 仍然信任被攻破的 eMudhra 证书。
Apple's git still trusts the compromised eMudhra certificates

原始链接: https://emudhra.we-have-a-problem.com/apple.html

截至2026年10月28日,macOS开发者工具(如git、curl和python3)仍信任被入侵的eMudhra证书,尽管Apple已于10月17日收到通知。10月26日发布的macOS 27.2未修复该问题并还原了手动解决方法。这导致这些工具的HTTPS连接容易受到拦截和篡改,包括Git克隆、拉取、推送和凭据窃取。Safari及使用Apple网络框架的应用已受保护。用户可使用提供的命令测试git和curl;出现证书错误表示已受保护。手动删除受影响根证书可能有帮助,但macOS更新可能撤销。安全团队应评估macOS CI/构建运行器的供应链风险。敦促Apple尽快提供开发者修复。

Hacker News 上的一个帖子讨论了 macOS 仍然在系统 CLI 工具(如 git、curl、Python、Ruby、Perl 和 OpenSSL)中信任已被泄露的 eMudhra 证书,因为它们依赖 /etc/ssl/cert.pem,而 Apple 自己的安全栈已对 GUI 应用程序阻止了这些证书。评论者认为 git 正确地将信任交给了操作系统;问题在于 macOS。Homebrew 自带 CA 证书包,因此其 curl 不受影响,但其 git 在打补丁前曾受影响。Apple 的建议是手动移除证书,但系统更新可能会恢复该漏洞文件。用户们讨论了网络上真正的中间人风险、Apple 缓慢的补丁发布、其两套独立的信任存储,以及 MacPorts 或 SSH 等变通方案。共识是:Apple 应该更新 UNIX 兼容证书存储,或将 CLI 工具路由到系统信任框架。
相关文章

原文

← Main Page

28th October 2026

Apple was notified of the eMudhra incident on 17th October. As of 28th October, the developer tools Apple ships with macOS, including git, curl and python3, still trust the compromised certificates.

Worse, macOS 27.2, released on 26th October, did not fix the issue and undid the workaround that users had applied by hand, leaving them vulnerable again.

Meanwhile, dozens of other projects, many run by volunteers, shipped fixes days ago.

Anyone can intercept any HTTPS connection these tools make.

For git, that means clones and pulls from https:// remotes can deliver attacker-chosen code, pushes can be altered in transit, and your credentials, such as GitHub tokens, can be intercepted.

To check whether your git is affected, run:

git ls-remote https://git-emudhra.we-have-a-problem.com/check.git

A certificate error means your git is protected. If git lists a commit, your git is affected. Your connections to GitHub, or any other https:// git remote, can be intercepted and tampered with.

To see an attack end to end, run the command below in a temporary directory. It clones a repository from a test server impersonating GitHub. The -c option redirects github.com to our test server for this one command only. The server presents a github.com certificate issued by one of the compromised eMudhra intermediates.

git -c http.curloptResolve=github.com:443:15.235.19.186 clone https://[email protected]/galadran/emudhra-git-test

A patched git will refuse with a certificate error. If the clone succeeds, you'll see a README.md starting with INTERCEPTED.

A real attacker would not need the extra option. Anyone on the network path between you and GitHub can redirect your traffic themselves.

You can replace the demo repository with any other, public or private. Keep the fake-user@ prefix. Without it, git would send your GitHub credentials to the test server. For example:

git -c http.curloptResolve=github.com:443:15.235.19.186 clone https://[email protected]/Homebrew/brew

curl, python3 and the other tools Apple ships are affected in the same way. To check curl, run:

curl https://dv-g3b-noct-emudhra.we-have-a-problem.com/
curl https://dv-g3b-aaa-noct-emudhra.we-have-a-problem.com/

A certificate error means curl is protected.

Apple has already protected Safari and other apps built on its networking framework.

Apple needs to ship a fix for macOS developers as soon as possible, for example by removing the affected roots from /etc/ssl/cert.pem.

The affected roots can be removed by hand. The macOS workaround on the main page walks through the steps. Apple's guidance states that macOS updates may revert the fix, so developers need to repeat the checks above and the workaround after every update until Apple ships a fix.

Security teams should also consider whether macOS runners are used in their CI or other build infrastructure and evaluate the supply chain risk.


Site published by Dennis Jackson. This site is the work of many contributors from the community. The source is on GitHub and PRs are welcome. Licensed under the Apache License, Version 2.0.

联系我们 contact @ memedata.com