Cloudanix VulnDB

CVE-2023-24998

High · 7.5

CVSS

7.5

EPSS

48.8%

Published

Feb 20, 2023

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A missing limit in a common file-upload component lets attackers send specially crafted requests that can make web applications using it stop responding until restarted.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The library processes an unbounded number of multipart request parts without enforcement of FileUploadBase#setFileCountMax, allowing resource exhaustion through allocation of per-part objects and buffers until memory or CPU limits are reached.

Why it matters to the business

Applications relying on the library can be forced offline or slowed to unusability by a single remote request or short series of requests, producing unplanned downtime and support load until the service is restarted or the configuration is hardened.

How an attack unfolds

An attacker identifies a web endpoint that accepts multipart uploads backed by the vulnerable library, crafts a request containing thousands of empty or minimal parts, and transmits it; because no part-count limit is active by default, the server exhausts heap or thread resources and becomes unresponsive. The same technique can be repeated across multiple connections for amplified effect.

How to fix it

Upgrade apache/commons-fileupload to the fixed commit 1d9a750e5091b6e36aa81c2277200a4b2b5ecd8a (equivalent to release 1.5 or later) and explicitly invoke FileUploadBase#setFileCountMax with a reasonable positive integer before processing any uploads.

How to confirm the fix worked

Confirm the library version is 1.5 or newer via dependency inspection or manifest; attempt an upload with more parts than the configured FileCountMax and verify the request is rejected with an exception rather than processed; monitor heap and thread metrics under load.

Typical attack path

  1. Map application endpoints accepting multipart/form-data uploads
  2. Generate a single HTTP request containing a large number of parts (exceeding any implicit limits)
  3. Transmit the request (optionally in a loop or from multiple sources)
  4. Observe server-side resource consumption leading to denial of service

How to detect it

Inspect application and web-server logs for multipart requests containing unusually high part counts; correlate with spikes in memory or CPU usage on upload-handling threads; review any custom error logs that record part-processing exceptions.

What your security team should do

  • Immediately upgrade all instances of commons-fileupload to the fixed commit or 1.5+ release
  • Add explicit FileCountMax configuration in every upload-handling code path
  • Review and test other file-upload limit settings (size, file count, request size) at the same time
  • Add monitoring for sudden spikes in multipart part counts or memory usage

The record

Apache Commons FileUpload before 1.5 does not limit the number of request parts to be processed resulting in the possibility of an attacker triggering a DoS with a malicious upload or series of uploads. Note that, like all of the file upload limits, the new configuration option (FileUploadBase#setFileCountMax) is not enabled by default and must be explicitly configured.

Affected packages

Ecosystem Package Introduced Fixed
Maven commons-fileupload:commons-fileupload 0 1.5
Maven org.apache.tomcat.embed:tomcat-embed-core 10.1.0-M1 10.1.5
Maven org.apache.tomcat.embed:tomcat-embed-core 11.0.0-M2 11.0.0-M5
Maven org.apache.tomcat.embed:tomcat-embed-core 8.5.85 8.5.88
Maven org.apache.tomcat.embed:tomcat-embed-core 9.0.0-M1 9.0.71
Maven org.apache.tomcat:tomcat-coyote 10.1.0-M1 10.1.5
Maven org.apache.tomcat:tomcat-coyote 11.0.0-M2 11.0.0-M5
Maven org.apache.tomcat:tomcat-coyote 8.5.85 8.5.88
Maven org.apache.tomcat:tomcat-coyote 9.0.0-M1 9.0.71
AlmaLinux:8 tomcat 0 1:9.0.62-27.el8_9
AlmaLinux:8 tomcat-admin-webapps 0 1:9.0.62-27.el8_9
AlmaLinux:8 tomcat-docs-webapp 0 1:9.0.62-27.el8_9
AlmaLinux:8 tomcat-el-3.0-api 0 1:9.0.62-27.el8_9
AlmaLinux:8 tomcat-jsp-2.3-api 0 1:9.0.62-27.el8_9
AlmaLinux:8 tomcat-lib 0 1:9.0.62-27.el8_9
AlmaLinux:8 tomcat-servlet-4.0-api 0 1:9.0.62-27.el8_9
AlmaLinux:8 tomcat-webapps 0 1:9.0.62-27.el8_9
AlmaLinux:9 tomcat 0 1:9.0.62-37.el9_3
AlmaLinux:9 tomcat-admin-webapps 0 1:9.0.62-37.el9_3
AlmaLinux:9 tomcat-docs-webapp 0 1:9.0.62-37.el9_3
AlmaLinux:9 tomcat-el-3.0-api 0 1:9.0.62-37.el9_3
AlmaLinux:9 tomcat-jsp-2.3-api 0 1:9.0.62-37.el9_3
AlmaLinux:9 tomcat-lib 0 1:9.0.62-37.el9_3
AlmaLinux:9 tomcat-servlet-4.0-api 0 1:9.0.62-37.el9_3
AlmaLinux:9 tomcat-webapps 0 1:9.0.62-37.el9_3
Chainguard jenkins 0 2.395-r0
Chainguard jenkins-compat 0 2.395-r0
Chainguard jenkins-remoting 0 2.395-r0
Chainguard tomcat-8.5.87-jamf-compat 0 8.5.87-r3
Debian:10 tomcat9 0 9.0.31-1~deb10u9
Debian:11 libcommons-fileupload-java 0 No fix
Debian:11 tomcat9 0 9.0.43-2~deb11u7
Debian:12 libcommons-fileupload-java 0 1.4-2
Debian:12 tomcat10 0 10.1.5-1
Debian:12 tomcat9 0 9.0.70-2
Debian:13 libcommons-fileupload-java 0 1.4-2
Debian:13 tomcat10 0 10.1.5-1
Debian:13 tomcat9 0 9.0.70-2
Mageia:8 apache-commons-fileupload 0 1.4-3.1.mga8
Mageia:8 tomcat 0 9.0.73-1.1.mga8
Red Hat:enterprise_linux:8::appstream tomcat 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:8::appstream tomcat-admin-webapps 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:8::appstream tomcat-docs-webapp 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:8::appstream tomcat-el-3.0-api 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:8::appstream tomcat-jsp-2.3-api 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:8::appstream tomcat-lib 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:8::appstream tomcat-servlet-4.0-api 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:8::appstream tomcat-webapps 0 1:9.0.62-27.el8_9
Red Hat:enterprise_linux:9::appstream tomcat 0 1:9.0.62-37.el9_3
Red Hat:enterprise_linux:9::appstream tomcat-admin-webapps 0 1:9.0.62-37.el9_3
Red Hat:enterprise_linux:9::appstream tomcat-docs-webapp 0 1:9.0.62-37.el9_3
Red Hat:enterprise_linux:9::appstream tomcat-el-3.0-api 0 1:9.0.62-37.el9_3
Red Hat:enterprise_linux:9::appstream tomcat-jsp-2.3-api 0 1:9.0.62-37.el9_3
Red Hat:enterprise_linux:9::appstream tomcat-lib 0 1:9.0.62-37.el9_3
Red Hat:enterprise_linux:9::appstream tomcat-servlet-4.0-api 0 1:9.0.62-37.el9_3
Red Hat:enterprise_linux:9::appstream tomcat-webapps 0 1:9.0.62-37.el9_3
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-admin-webapps 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-docs-webapp 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-el-3.0-api 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-java-jdk11 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-java-jdk8 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-javadoc 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-jsp-2.3-api 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-lib 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-native 0 0:1.2.31-15.redhat_15.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-native-debuginfo 0 0:1.2.31-15.redhat_15.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-selinux 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-servlet-4.0-api 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el7 jws5-tomcat-webapps 0 0:9.0.62-15.redhat_00013.1.el7jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-admin-webapps 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-docs-webapp 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-el-3.0-api 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-javadoc 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-jsp-2.3-api 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-lib 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-native 0 0:1.2.31-15.redhat_15.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-native-debuginfo 0 0:1.2.31-15.redhat_15.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-selinux 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-servlet-4.0-api 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el8 jws5-tomcat-webapps 0 0:9.0.62-15.redhat_00013.1.el8jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-admin-webapps 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-docs-webapp 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-el-3.0-api 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-javadoc 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-jsp-2.3-api 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-lib 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-native 0 0:1.2.31-15.redhat_15.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-native-debuginfo 0 0:1.2.31-15.redhat_15.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-selinux 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-servlet-4.0-api 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:jboss_enterprise_web_server:5.7::el9 jws5-tomcat-webapps 0 0:9.0.62-15.redhat_00013.1.el9jws
Red Hat:ocp_tools:4.13::el8 jenkins 0 0:2.387.3.1684911776-3.el8
Red Hat:ocp_tools:4.13::el8 jenkins-2-plugins 0 0:4.13.1684911916-1.el8
SUSE:Enterprise Storage 7 apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Enterprise Storage 7 tomcat 0 9.0.43-150200.35.1
SUSE:Enterprise Storage 7 tomcat 0 9.0.75-150200.41.1
SUSE:Enterprise Storage 7.1 apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Enterprise Storage 7.1 tomcat 0 9.0.43-150200.35.1
SUSE:Enterprise Storage 7.1 tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS jakarta-commons-fileupload 0 1.1.1-150000.4.8.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS tomcat 0 9.0.36-150100.4.87.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP5 apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP5 tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise Server 12 SP2-BCL jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:Linux Enterprise Server 12 SP2-BCL tomcat 0 8.0.53-29.63.1
SUSE:Linux Enterprise Server 12 SP4-ESPOS jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:Linux Enterprise Server 12 SP4-ESPOS tomcat 0 9.0.36-3.99.1
SUSE:Linux Enterprise Server 12 SP4-LTSS jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:Linux Enterprise Server 12 SP4-LTSS tomcat 0 9.0.36-3.99.1
SUSE:Linux Enterprise Server 12 SP5 jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:Linux Enterprise Server 12 SP5 tomcat 0 9.0.36-3.99.1
SUSE:Linux Enterprise Server 15 SP1-LTSS jakarta-commons-fileupload 0 1.1.1-150000.4.8.1
SUSE:Linux Enterprise Server 15 SP1-LTSS tomcat 0 9.0.36-150100.4.87.1
SUSE:Linux Enterprise Server 15 SP2-LTSS apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise Server 15 SP2-LTSS tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise Server 15 SP2-LTSS tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise Server 15 SP3-LTSS apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise Server 15 SP3-LTSS tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise Server 15 SP3-LTSS tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 tomcat 0 9.0.36-3.99.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 tomcat 0 9.0.36-3.99.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 jakarta-commons-fileupload 0 1.1.1-150000.4.8.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 tomcat 0 9.0.36-150100.4.87.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 tomcat 0 9.0.75-150200.41.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 tomcat 0 9.0.43-150200.35.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 tomcat 0 9.0.75-150200.41.1
SUSE:Manager Server 4.2 apache-commons-fileupload 0 1.5-150200.3.9.1
SUSE:Manager Server 4.2 tomcat 0 9.0.43-150200.35.1
SUSE:Manager Server 4.2 tomcat 0 9.0.75-150200.41.1
SUSE:OpenStack Cloud 9 jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:OpenStack Cloud 9 tomcat 0 9.0.36-3.99.1
SUSE:OpenStack Cloud Crowbar 9 jakarta-commons-fileupload 0 1.1.1-122.8.1
SUSE:OpenStack Cloud Crowbar 9 tomcat 0 9.0.36-3.99.1
Ubuntu:16.04:LTS libcommons-fileupload-java 0 No fix
Ubuntu:18.04:LTS libcommons-fileupload-java 0 No fix
Ubuntu:20.04:LTS libcommons-fileupload-java 0 No fix
Ubuntu:22.04:LTS libcommons-fileupload-java 0 No fix
Ubuntu:24.04:LTS libcommons-fileupload-java 0 No fix
Ubuntu:24.10 libcommons-fileupload-java 0 No fix
Ubuntu:25.04 libcommons-fileupload-java 0 No fix
Ubuntu:25.10 libcommons-fileupload-java 0 No fix
Ubuntu:Pro:16.04:LTS libcommons-fileupload-java 0 No fix
Ubuntu:Pro:18.04:LTS libcommons-fileupload-java 0 No fix
Ubuntu:Pro:20.04:LTS libcommons-fileupload-java 0 No fix
Wolfi jenkins 0 2.395-r0
Wolfi jenkins-compat 0 2.395-r0
Wolfi jenkins-remoting 0 2.395-r0
maven commons-fileupload/commons-fileupload 1.0 1.5
maven org.apache.tomcat.embed/tomcat-embed-core 10.1.0-M1 10.1.5
maven org.apache.tomcat.embed/tomcat-embed-core 11.0.0-M2 11.0.0-M5
maven org.apache.tomcat.embed/tomcat-embed-core 8.5.85 8.5.88
maven org.apache.tomcat.embed/tomcat-embed-core 9.0.0-M1 9.0.71
maven org.apache.tomcat/tomcat-coyote 10.1.0-M1 10.1.5
maven org.apache.tomcat/tomcat-coyote 11.0.0-M2 11.0.0-M5
maven org.apache.tomcat/tomcat-coyote 8.5.85 8.5.88
maven org.apache.tomcat/tomcat-coyote 9.0.0-M1 9.0.71
openSUSE:Leap 15.4 apache-commons-fileupload 0 1.5-150200.3.9.1
openSUSE:Leap 15.4 jakarta-commons-fileupload 0 1.1.1-150000.4.8.1
openSUSE:Leap 15.4 tomcat 0 9.0.43-150200.35.1
openSUSE:Leap 15.4 tomcat 0 9.0.75-150200.41.1
openSUSE:Leap 15.5 apache-commons-fileupload 0 1.5-150200.3.9.1
openSUSE:Leap 15.5 tomcat 0 9.0.75-150200.41.1
openSUSE:Tumbleweed apache-commons-fileupload 0 1.5-1.1
openSUSE:Tumbleweed tomcat 0 9.0.43-14.1
openSUSE:Tumbleweed tomcat10 0 10.1.14-1.1

Related vulnerabilities