一、漏洞核心概述
CVE-2025-55752是Apache Tomcat中间件中RewriteValve(URL重写阀门)组件存在的高危路径遍历漏洞,CVSS评分暂定为9.1分(高危,远程攻击、无需权限、影响范围广)。该漏洞的核心成因是RewriteValve在处理用户可控的URL重写请求时,未在重写逻辑执行前后完成完整的路径规范化(Normalization)操作,导致攻击者可通过构造包含../、./及其编码变体的恶意请求,绕过Tomcat默认的目录访问限制,直接读取部署目录外的敏感系统文件与应用配置文件。
需要特别强调的是,该漏洞的触发存在前置条件:目标Tomcat实例必须在server.xml、context.xml或应用专属的META-INF/context.xml中显式配置并启用RewriteValve组件;未配置该组件的Tomcat实例不受影响。但从实际运维场景来看,RewriteValve因能灵活实现URL重写、伪静态化、域名跳转等需求,被大量企业应用于生产环境,因此漏洞的实际影响面不容小觑。
二、受影响版本与隐蔽风险点
Apache Tomcat官方于2025年Q4发布的安全公告中,明确了以下受影响版本范围:
- Tomcat 8.5.x 系列:8.5.0 ~ 8.5.115
- Tomcat 9.0.x 系列:9.0.0 ~ 9.0.95
- Tomcat 10.1.x 系列:10.1.0 ~ 10.1.19
- Tomcat 11.0.x 系列:11.0.0-M1 ~ 11.0.0-M17
除官方标准版本外,还存在两类易被忽视的隐蔽受影响对象:
三、漏洞原理:重写逻辑与路径规范化的时序缺陷
要理解该漏洞的本质,需先明确Tomcat的路径处理流程与RewriteValve的执行时序:
攻击者正是利用这一时序缺陷,构造包含路径遍历字符的恶意请求,具体攻击链路如下:
- 攻击者发送请求:GET /abc/../../etc/passwd HTTP/1.1
- RewriteValve在重写规则中匹配到/abc/*路径,直接将请求重写为/../../etc/passwd(若重写规则中存在反向引用,如RewriteRule ^/abc/(.*)$ /$1 [L],则攻击效果会被放大);
- 重写后的URI未经过规范化处理,直接被Tomcat映射到服务器的绝对路径/etc/passwd;
- 若Tomcat运行用户具备该文件的读取权限,则会直接返回文件内容,造成敏感信息泄露。
更危险的是,攻击者可通过多层编码绕过(如%252e%252e/对应../,%c0%ae%c0%ae/是../的UTF-8变形编码),突破部分WAF(Web应用防火墙)的基础规则拦截,实现精准攻击。
四、漏洞危害:从信息泄露到供应链攻击的连锁风险
该漏洞的危害并非局限于单一的文件读取,而是会引发链式攻击效应,具体可分为四个层级:
五、漏洞验证:手动测试与自动化扫描方案
漏洞验证需严格遵循授权测试原则,仅可在自有资产或获得明确授权的目标上进行,具体方法分为手动测试与自动化扫描两类:
(一)手动测试步骤
确认RewriteValve是否启用
登录目标服务器,检查Tomcat的配置文件:
- 全局配置:查看conf/server.xml或conf/context.xml中是否存在<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />配置;
- 应用级配置:查看应用目录下的META-INF/context.xml文件,确认是否存在上述配置。
若存在,则目标存在漏洞触发的前置条件。
构造恶意请求进行验证
使用Burp Suite、curl等工具发送测试请求,示例如下:
# 测试读取Linux系统文件
curl -v "http://target:8080/任意已配置的重写路径/../../etc/passwd"
# 测试读取Tomcat配置文件
curl -v "http://target:8080/任意已配置的重写路径/../../conf/tomcat-users.xml"
# 测试编码绕过(针对存在基础WAF的目标)
curl -v "http://target:8080/任意已配置的重写路径/%2e%2e/%2e%2e/etc/passwd"
若返回文件内容(如root:x:0:0:root:/root:/bin/bash),则说明漏洞存在。
(二)自动化扫描方案
- 规则1:检测目标是否启用RewriteValve(通过扫描/manager/html页面的响应头,或发送特定请求触发RewriteValve的错误日志);
- 规则2:构造包含多层路径遍历字符的请求,校验响应内容是否包含敏感文件的特征字符串(如root:x:0:0、<user username=)。
六、修复方案:从紧急缓解到长期防御的全维度策略
针对该漏洞的修复,需遵循**“先应急、后根治、再加固”**的原则,分阶段实施:
(一)紧急缓解措施(无法立即升级时)
适用于业务无法中断、无法立即升级Tomcat版本的场景,可快速降低漏洞风险:
RewriteCond %{REQUEST_URI} ^(.*)/\\.\\./(.*)$ [NC,OR]
# 拦截包含./的请求
RewriteCond %{REQUEST_URI} ^(.*)/\\./(.*)$ [NC]
# 返回403禁止访问
RewriteRule ^ – [F,L]
(二)根治方案:官方补丁升级
这是解决漏洞的最根本方法,需根据Tomcat的部署类型选择对应的升级路径:
- Tomcat 8.5.x:升级至8.5.116及以上
- Tomcat 9.0.x:升级至9.0.96及以上
- Tomcat 10.1.x:升级至10.1.20及以上
- Tomcat 11.0.x:升级至11.0.0-M18及以上
升级后需验证RewriteValve的功能是否正常,避免因版本兼容问题导致业务异常。
- Spring Boot应用:在pom.xml(Maven)或build.gradle(Gradle)中升级spring-boot-starter-tomcat的依赖版本至最新;
- 自研嵌入式Tomcat应用:升级tomcat-embed-core、tomcat-embed-valves等核心依赖的版本,确保与官方修复版本一致。
(三)长期防御策略:构建中间件安全的左移防御体系
该漏洞再次暴露了企业在中间件安全管理中的短板——重功能、轻安全,重应急、轻预防。要从根本上降低类似漏洞的风险,需构建左移防御体系:
七、前瞻性展望:中间件安全的未来挑战与应对方向
随着云原生、微服务架构的普及,中间件的形态正从“独立部署”向“嵌入式、分布式”转变,这也给中间件安全带来了新的挑战:
针对这些挑战,未来的中间件安全防御需向三个方向演进:
- 智能化漏洞检测:利用AI技术分析中间件的运行日志与流量特征,实现漏洞的主动发现与预警;
- 轻量化安全防护:将安全功能内嵌到中间件本身,如Tomcat官方可在核心组件中内置路径规范化、权限校验等安全逻辑,降低用户的配置成本;
- 标准化安全合规:建立云原生中间件的安全合规标准,明确厂商与用户的安全责任边界,推动整个行业的安全水平提升。
注:本文所述的漏洞验证方法仅用于授权安全测试,未经授权的攻击行为均属于违法行为,需承担相应的法律责任。企业若发现自身系统存在该漏洞,应立即启动应急响应流程,排查攻击痕迹,并及时向相关监管部门报备。





