修复Tomcat漏洞CVE-2025-24813

1. 漏洞描述

Apache Tomcat 在特定配置下存在反序列化漏洞。攻击者可通过构造恶意请求,利用文件会话持久化机制将恶意序列化数据写入服务器,并在后续请求中触发反序列化操作,从而导致远程代码执行。

2. 影响范围

9.0.0.M1 <= Apache Tomcat <= 9.0.98

10.1.0-M1 <= Apache Tomcat <= 10.1.34

11.0.0-M1 <= Apache Tomcat <= 11.0.2

3. 漏洞触发条件

1、DefaultServlet 写入功能启用:需在 web.xml 中配置 readonly=false。

2、Partial PUT 请求支持:Tomcat 默认支持分块上传。

3、文件会话持久化启用:需在 context.xml 中配置 PersistentManager 和 FileStore。

4、存在反序列化利用链:类路径下需包含存在漏洞的库(如commons-collections-3.2.1.jar)。

4. 修复

升级tomcat,以Tomcat9为例

1.pom.xml修改


    9.0.105


    
        
        
            org.apache.tomcat.embed
            tomcat-embed-core
            ${tomcat.version}
        
        
            org.apache.tomcat.embed
            tomcat-embed-el
            ${tomcat.version}
        
        
            org.apache.tomcat.embed
            tomcat-embed-websocket
            ${tomcat.version}
        
    

2.修改启动参数

根据运行的 Java 版本,用户需要进行以下配置更改:

Java 8 或 Java 11 – 明确设置系统属性 sun.io.useCanonCaches 为 false(默认为 true)
Java 17 – 如果已经设置,则将系统属性 sun.io.useCanonCaches 设置为 false(默认为 false)
Java 21 及更高版本 – 不需要采取行动,因为系统属性已被移除

-Dsun.io.useCanonCaches=false

nohup java -Dsun.io.useCanonCaches=false  -jar ./xxx.jar >log.log &

如果不添加 -Dsun.io.useCanonCaches=false会有 CVE-2024-56337漏洞

你可能感兴趣的:(Java架构,tomcat,java)