内容提要
Cloudflare紧急通知Tunnel用户升级cloudflared:证书机构eMudhra的8张中间证书私钥存在脆弱性,可被用于伪造HTTPS证书并实施中间人攻击,旧版cloudflared仍信任这些证书。用户需升级至Linux/Windows/Docker 2026.10.2以上、macOS 2026.10.3以上版本并重启服务;若源站使用eMudhra证书需更换。
延伸解读
为何旧版 cloudflared 成为风险点
文章指出,旧版 cloudflared 仍信任 eMudhra 此前颁发的中间证书,而该机构 8 张中间证书的私钥极其脆弱,可被用于伪造 HTTPS 证书并实施中间人攻击。这意味着即使 Cloudflare 服务本身未被发现实际利用,运行旧客户端的用户仍暴露在信任链风险中。升级的本质是移除对问题证书的信任,而非修补某个具体漏洞。
升级前先排查源站证书
邮件特别提示,若源站此前使用了 eMudhra 证书,升级 cloudflared 后将无法连接。文章不建议用关闭证书验证来绕过,而是建议更换 eMudhra 证书。因此升级并非单纯执行命令,需先确认源站 HTTPS 证书的颁发机构,避免升级后 Tunnel 中断,影响 NAS、本地网站等已发布服务。
版本门槛与升级路径的差异
文章给出的最低版本因平台而异:Linux、Windows、Docker 需不低于 2026.10.2,macOS 非 Homebrew 安装需不低于 2026.10.3。升级方式也分 apt、Homebrew、WinGet 和 Docker 镜像重建,更新后均需重启服务或进程。读者应核对自己实际安装方式,避免只更新二进制而未重启,导致旧进程继续运行。
用控制台集中核对更现实
文章提到,逐台检查 cloudflared 版本并不现实,因为很难记清哪些地方用过。更可行的做法是从 Cloudflare 控制台进入“联网 → Tunnels”查看版本,集中定位需要升级的实例。这一提醒对多设备、多环境用户尤其有用,可减少遗漏,也便于在升级后确认服务是否恢复正常连接。
Q&A
Cloudflare 为什么紧急通知 Tunnel 用户升级 cloudflared?
因为证书机构 eMudhra 的 8 张中间证书私钥存在脆弱性,可被用于伪造 HTTPS 证书并实施中间人攻击,而旧版 cloudflared 仍然信任这些证书,可能导致安全风险。
哪些版本的 cloudflared 需要升级?
Linux、Windows、Docker 版本低于 2026.10.2 的需要升级;macOS(非 Homebrew 安装)版本低于 2026.10.3 的需要升级。
如何快速查看所有 cloudflared 的版本?
可以登录 Cloudflare 控制台,进入“联网”->“Tunnels”页面查看各 Tunnel 的 cloudflared 版本,这样无需逐台检查。
cloudflared 手动升级的具体命令是什么?
Linux:sudo apt-get update && sudo apt-get install --only-upgrade cloudflared && sudo systemctl restart cloudflared;macOS(Homebrew):brew update && brew upgrade cloudflared;Windows(WinGet):winget upgrade --id Cloudflare.cloudflared;Docker:docker pull cloudflare/cloudflared:2026.10.3 后重新创建容器,或 docker compose up -d --force-recreate。
升级 cloudflared 后,如果源站使用了 eMudhra 证书会怎样?
升级后将无法连接使用 eMudhra 证书的源站,因为新版本不再信任这些证书。建议更换源站的 eMudhra 证书,而不是关闭证书验证。
Cloudflare Tunnel 和 cloudflared 分别是什么?
Cloudflare Tunnel 是 Cloudflare 提供的内网穿透工具,能将本地服务安全发布到互联网,无需公网 IP 和开放端口;cloudflared 是其客户端,负责建立和维护与 Cloudflare 的加密连接。