文章总结: 文档披露Cloudflare因处理ACME协议HTTP-01挑战存在逻辑缺陷,导致攻击者可利用/.well-known/acme-challenge/路径绕过WAF直接访问源站。该漏洞允许非匹配令牌请求跳过安全检查,可用于源站探测及路径穿越攻击。官方已修复此问题,确保仅对有效令牌请求禁用WAF功能。 综合评分: 93 文章分类: WEB安全,漏洞分析,漏洞预警
Cloudflare曝零日漏洞:利用证书验证路径可绕过WAF访问任意源站
原创
开发小鸡娃 开发小鸡娃
安全随心录
2026年1月28日 22:10 上海
ACME介绍
ACME(Automatic Certificate Management Environment)是一种自动化申请、续期和管理 HTTPS 证书的标准协议。
ACME是一种通信协议(RFC 8555),它促进SSL/TLS证书的自动签发、续期和撤销。证书颁发机构(CA)为网站配置的每个证书都通过challenge 验证来证明域名所有权。
ACME的必要性
1. HTTPS 证书生命周期短
当前主流证书有效期仅为 90 天
证书过期将导致 HTTPS 服务不可用
频繁的人工证书操作不可行,自动化管理成为必需。
2. 规模化证书管理挑战
假设拥有 100 个域名,每 90 天需要更换证书:
人工成本高
易遗忘续期,风险极大
证书过期会造成重大生产事故
ACME 的本质价值:
将证书管理从“人工运维”升级为“基础设施自动化”。
ACME的认证方式
1. HTTP-01 Challenge(最常用)
流程:
CA 要求在 /.well-known/acme-challenge/xxx 路径下放置 token
ACME Client 完成操作,CA 访问指定 URL,验证 token 内容,验证通过后签发证书
适用场景:
- 普通网站
- 公网 HTTP 服务,80/443 端口可访问
- Cloudflare、Nginx、Apache 支持良好
局限性:
- 不支持泛域名证书(*.example.com)
- 必须公网可访问
- 对 WAF/反向代理敏感
2. DNS-01 Challenge
验证方式:
- CA 要求在 DNS 添加 TXT 记录,例如:_acme-challenge.example.com = “token”
- CA 查询 DNS 记录,验证通过后签发证书。
适用场景:
- 泛域名证书
- 内网服务或无 HTTP 服务
- 多子域名、Kubernetes、自动化环境
局限性:
- 需 DNS API 权限
- 实现复杂
- DNS 传播有延迟
3. TLS-ALPN-01 Challenge
验证方式:
- CA 连接服务器 443 端口
- 使用特殊 ALPN 协议 acme-tls/1
- 服务端返回临时证书进行验证
适用场景:
- 无 HTTP 服务但可控制 TLS 终止
- 底层部署场景
局限性:
- 实现复杂,调试难度高
- 生态支持有限
Cloudflare漏洞利用细节
漏洞原因
当请求指向 /.well-known/acme-challenge/ 目录时,即使客户配置的WAF规则明确阻止了所有其他流量,请求仍可抵达源站。这一路径普遍存在于现代网站中,用于自动化证书管理环境(ACME)协议执行SSL/TLS证书验证。其设计初衷仅限于证书颁发机构(CA)的验证机器人访问特定令牌文件,而非作为通往源站的开放通道。
Cloudflare中,漏洞根源在于Cloudflare边缘网络处理ACME HTTP-01挑战路径的逻辑缺陷。当Cloudflare为其自身管理的证书订单提供挑战令牌时,系统会禁用WAF功能以防止干扰CA验证流程。然而,当请求的令牌与Cloudflare管理的证书订单不匹配时,请求竟会完全跳过WAF评估,直接转发至客户源站。这一逻辑错误使得原本狭窄的证书验证例外情况,演变为影响所有受Cloudflare保护主机的广泛安全绕过。
利用细节
如下是被wafl拦截的正常页面Block page (normal request)
在实验中,在waf中配置了拒绝一切主机名包含cf的请求
但是通过 /.wel-known 绕过了waf的限制而直接到了源站,按照策略应该是被block的
如何获取一个Challenge Token
Cloudflare的SSL/TLS自定义主机名功能允许您管理指向您域名的第三方CNAME记录及其证书。我们添加了名为cf-well-known.fearsoff.org的自定义主机名,并明确选择了HTTP验证方式。下图展示了添加流程及最终呈现的”验证待处理”状态。
未为 cf-well-known.fearsoff.org 创建 DNS 记录,因此证书签发状态将无限期保持待处理状态。在此待处理状态下,Cloudflare 会显示验证机器人最终将请求的 HTTP‑01 网址,例如:
http://cf-well-known.fearsoff.org/.well-known/acme-challenge/yMnWOcR2yv0yW-…Jm5QksreNRDUmqKfKPTk
可以使用/.well-known/acme-challenge/yMnWOcR2yv0yW-…Jm5QksreNRDUmqKfKPTk ,对目标域名进行探测。
漏洞危害
1、通过 ../../../的方式可以绕过waf做一些探测
2、通过http header设置的waf规则将会失效
官方修复方式
为缓解此问题,已发布代码变更。该变更仅允许在请求匹配主机名的有效ACME HTTP-01挑战令牌时禁用安全功能集。此时,Cloudflare将返回相应的挑战响应。也就是不是随便一个token都可以让waf失效了
参考文章
https://fearsoff.org/research/cloudflare-acme
https://blog.cloudflare.com/acme-path-vulnerability/
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全随心录 开发小鸡娃 开发小鸡娃《Cloudflare曝零日漏洞:利用证书验证路径可绕过WAF访问任意源站》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论