Apache Traffic Server 修复 38 个安全漏洞,含请求走私与内存安全缺陷(CVSS 10.0)

事件概述

2026 年 8 月初,Apache 软件基金会针对 Apache Traffic Server(ATS) 9.0.0 至 9.2.14 与 10.0.0 至 10.1.3 版本集中发布 38 个安全更新,覆盖 9.2.15 与 10.1.4 两个修复版本。更新公告中包含多个 CVSS 评分达到 10.0(Critical) 的请求走私与访问控制绕过漏洞,官方明确表示目前尚未发现野外利用,且无配置层面的临时缓解措施,建议用户立即升级。

Apache Traffic Server 是全球最广泛部署的缓存代理服务器之一,承担反向代理、CDN 边缘节点、企业前置网关等关键流量入口角色。本次修复的影响范围包括但不限于:

  • 多家大型 CDN 服务商的边缘节点;
  • 企业内部反向代理与 API Gateway;
  • 云原生 Service Mesh 的 Ingress 层。

高危漏洞技术细节

1. 请求走私(CVSS 10.0)

请求走私是 ATS 历史上最高危的漏洞类别,本次修复包含两条关键 CVE:

  • CVE-2026-33267:在不可信对等方与 ATS 之间允许构造 伪造的内部头,攻击者可注入仅应出现在代理内部的头字段(如 X-Forwarded-ForX-Forwarded-ProtoX-Real-IP),从而绕过 ACL、限流与基于 IP 的访问控制;
  • CVE-2026-58150:在 HTTP/2 协议处理中,未正确拒绝 包含 Transfer-Encoding 头的请求,攻击者可借此让代理与后端服务器之间的请求解析出现歧义,实现经典 CL.TE / TE.CL 请求走私,将恶意请求注入到下游连接。

2. 访问控制绕过

  • CVE-2026-22068:使用非锚定正则表达式 进行 ACL、SNI 与地理限制匹配,攻击者可通过子串匹配绕过 ^/api/.*$ 这类规则;
  • CVE-2026-58156:在端口解析时存在错误,导致针对特定端口的访问控制失效。

3. 内存安全与拒绝服务

  • CVE-2026-58154:MIME 解析过程中发生内存错误,可触发进程崩溃;
  • CVE-2026-58161:TLS/SNI 处理路径上存在内存错误;
  • CVE-2026-58179regex_remap 插件中可触发栈溢出,造成 ATS 工作进程崩溃;
  • 另有若干 Varnish/ESI 解析路径中的内存安全问题,影响 10.x 系列。

典型利用场景

# CL.TE 请求走私 PoC:让代理与后端对 Transfer-Encoding 解析分歧
POST / HTTP/1.1
Host: cdn.example.com
Content-Length: 13
Transfer-Encoding: chunked

0

GET /internal/admin HTTP/1.1
Host: backend.local
Foo: 

当代理侧忽略 Transfer-Encoding 而后端依据 Content-Length 处理,攻击者即可在下一个请求上附加任意内部路径,访问原本仅代理可访问的内部接口或绕过 ACL。

影响评估

  • 波及面:ATS 部署于全球大型 CDN 厂商与众多企业内部网络,影响面极广;
  • 攻击复杂度:低(AC:L)——请求走私与 ACL 绕过的构造技术成熟;
  • 权限要求:无(PR:N),任何可达 ATS 边缘的源即可发起;
  • 利用后果:敏感头伪造、ACL 绕过、跨租户请求注入、进程崩溃、潜在 RCE(视配置而定);
  • 临时缓解:官方明确表示,必须升级。

修复建议

1. 立即升级

  • 9.x 系列:升级到 9.2.15 或更高;
  • 10.x 系列:升级到 10.1.4 或更高。

2. 升级步骤参考

# CentOS / RHEL
yum upgrade trafficserver -y
systemctl restart trafficserver
trafficserver status

# Debian / Ubuntu
apt-get update && apt-get install --only-upgrade trafficserver -y
systemctl restart trafficserver

# Docker 部署
docker pull apache/trafficserver:10.1.4
docker compose up -d

3. 加固建议

  • records.config 中显式禁用 HTTP/2 端到端的 Transfer-Encoding 转发(升级后亦可保留作为深度防御);
  • remap.config 与 ACL 规则使用 锚定正则^/api/.*$)并加白名单测试;
  • ssl_server_name.yaml 中验证 SNI 匹配逻辑;
  • 在 WAF / 上游反向代理中检查 X-Forwarded-* 来源,避免信任来自不可信源的内部头。

4. 检测与响应

  • logs/squid.logdiags.log 中搜索异常 400 / 502 状态码与连接复用异常;
  • 通过 traffic_ctl metric get 监控 proxy.process.http.transaction_counts.errors 变化;
  • 回溯 remap.config 历史修改记录,确认 ACL 未被回退;
  • 检查 regex_remap 插件配置中的复杂正则,避免触发 CVE-2026-58179 栈溢出。

参考来源