KOCA 对于Apache Commons FileUpload拒绝服务漏洞修复说明

koca-client 间接依赖 commons-fileupload 1.4版本,该组件存在拒绝服务漏洞(CVE-2023-24998),由于Apache Commons FileUpload版本1.5之前未限制要处理的请求部分的数量,导致可以通过恶意上传或一系列上传来触发拒绝服务。另,tomcat使用Apache Commons FileUpload进行重新打包,故也存在相同的问题。

影响范围:

Apache Commons FileUpload:版本1.0-beta-1 - 1.4
Apache Tomcat:
Apache Tomcat 版本11.0.0-M1
Apache Tomcat 版本10.1.0-M1 - 10.1.4
Apache Tomcat 版本9.0.0-M1 - 9.0.70
Apache Tomcat 版本8.5.0 - 8.5.84

修复步骤:
截止到koca 4.0.0版本,koca定义的版本定义为是 commons-fileupload 1.4、tomcat 9.0.56,两者均存在漏洞。
mvn clean dependency 命令检查工程是否依赖 commons-fileupload、tomcat 的漏洞版本,若有,则在pom指定版本。

<properties>
   <tomcat.version>9.0.71</tomcat.version>
   <commons-fileupload.version>1.5</commons-fileupload.version>
</properties>

<dependencyManagement>
        <dependencies>
           <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${commons-fileupload.version}</version>
            </dependency>

           <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-annotations-api</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-jdbc</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-jsp-api</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-el</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-websocket</artifactId>
                <version>${tomcat.version}</version>
            </dependency>
  </dependencies>
</dependencyManagement>

注意
虽然目前漏洞已修复,但是新配置选项(FileUploadBase#setFileCountMax) 默认情况下未启用,在业务场景中,调用org.apache.commons.fileupload、org.apache.tomcat.util.http.fileupload中必须明确配置。

参考链接:
https://www.venustech.com.cn/new_type/aqtg/20230221/25192.html
https://www.huaweicloud.com/notice/2022/20230222160513222.html

1 个赞