Cloudanix VulnDB

CVE-2024-22201

High · 7.5

CVSS

7.5

EPSS

1.4%

Published

Feb 26, 2024

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A problem in the Jetty web server lets attackers drain its available connections until it can no longer handle real users.

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

What it actually does

An HTTP/2 SSL connection that is established and TCP congested is leaked when it times out, causing exhaustion of file descriptors.

Why it matters to the business

The server may run out of file descriptors and stop accepting new connections from valid clients, leading to denial of service. The issue affects a widely used Java web server component with many downstream dependents.

How an attack unfolds

An attacker causes many HTTP/2 SSL connections to become TCP congested. When the connections time out they are leaked instead of being released, accumulating until the server exhausts file descriptors and becomes unavailable.

How to fix it

Upgrade eclipse/jetty.project to version 9.4.54, 10.0.20, 11.0.20, 12.0.6 or later (fixed in commit 78ab6e6ba163f89cdd97f2ae0283fbb5e371cfaf).

How to confirm the fix worked

Confirm the running Jetty version matches or exceeds a fixed release and test under sustained connection load to verify file descriptors are released on timeout.

Typical attack path

  1. Establish multiple HTTP/2 SSL connections to the target server
  2. Induce TCP congestion on the connections
  3. Allow the connections to time out while keeping them in the leaked state
  4. Repeat the process until file descriptors are exhausted

How to detect it

Review server logs for large numbers of timed-out HTTP/2 SSL connections that remain open and correlate with rising file descriptor usage.

What your security team should do

  • Apply the listed fixed versions immediately due to the public disclosure and potential for resource exhaustion
  • Monitor file descriptor and connection counts in production environments
  • Consider connection rate limiting or timeouts as temporary mitigations

The record

Jetty is a Java based web server and servlet engine. An HTTP/2 SSL connection that is established and TCP congested will be leaked when it times out. An attacker can cause many connections to end up in this state, and the server may run out of file descriptors, eventually causing the server to stop accepting new connections from valid clients. The vulnerability is patched in 9.4.54, 10.0.20, 11.0.20, and 12.0.6.

Affected packages

Ecosystem Package Introduced Fixed
Maven org.eclipse.jetty.http2:http2-common 10.0.0 10.0.20
Maven org.eclipse.jetty.http2:http2-common 11.0.0 11.0.20
Maven org.eclipse.jetty.http2:http2-common 9.3.0 9.4.54
Maven org.eclipse.jetty.http2:jetty-http2-common 12.0.0 12.0.6
Maven org.eclipse.jetty.http3:http3-common 10.0.8 10.0.20
Maven org.eclipse.jetty.http3:http3-common 11.0.8 11.0.20
Maven org.eclipse.jetty.http3:jetty-http3-common 12.0.0 12.0.6
Chainguard neo4j 0 5.18.0-r0
Chainguard neo4j-oci-entrypoint 0 5.18.0-r0
Chainguard solr 0 9.5.0-r1
Chainguard solr-oci-compat 0 9.5.0-r1
Debian:10 jetty9 0 9.4.50-4+deb10u2
Debian:11 jetty9 0 9.4.50-4+deb11u2
Debian:12 jetty9 0 9.4.50-4+deb12u3
Debian:13 jetty9 0 9.4.54-1
Red Hat:ocp_tools:4.12::el8 jenkins 0 0:2.440.3.1716445200-3.el8
Red Hat:ocp_tools:4.12::el8 jenkins-2-plugins 0 0:4.12.1716445211-1.el8
Red Hat:ocp_tools:4.13::el8 jenkins 0 0:2.440.3.1716445150-3.el8
Red Hat:ocp_tools:4.13::el8 jenkins-2-plugins 0 0:4.13.1716445207-1.el8
Red Hat:ocp_tools:4.14::el8 jenkins 0 0:2.440.3.1716387933-3.el8
Red Hat:ocp_tools:4.14::el8 jenkins-2-plugins 0 0:4.14.1716388016-1.el8
Red Hat:ocp_tools:4.15::el8 jenkins 0 0:2.440.3.1718879390-3.el8
Red Hat:ocp_tools:4.15::el8 jenkins-2-plugins 0 0:4.15.1718879538-1.el8
SUSE:Enterprise Storage 7.1 jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise Server 15 SP2-LTSS jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise Server 15 SP3-LTSS jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise Server 15 SP4-LTSS jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 jetty-minimal 0 9.4.54-150200.3.25.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 jetty-minimal 0 9.4.54-150200.3.25.1
Ubuntu:14.04:LTS jetty 0 No fix
Ubuntu:16.04:LTS jetty 0 No fix
Ubuntu:Pro:14.04:LTS jetty 0 No fix
Ubuntu:Pro:16.04:LTS jetty 0 No fix
Wolfi neo4j 0 5.18.0-r0
Wolfi neo4j-oci-entrypoint 0 5.18.0-r0
Wolfi solr 0 9.5.0-r1
Wolfi solr-oci-compat 0 9.5.0-r1
maven org.eclipse.jetty.http2/http2-common 10.0.0 10.0.20
maven org.eclipse.jetty.http2/http2-common 11.0.0 11.0.20
maven org.eclipse.jetty.http2/http2-common 9.3.0 9.4.54
maven org.eclipse.jetty.http2/jetty-http2-common 12.0.0 12.0.6
maven org.eclipse.jetty.http3/http3-common 10.0.8 10.0.20
maven org.eclipse.jetty.http3/http3-common 11.0.8 11.0.20
maven org.eclipse.jetty.http3/jetty-http3-common 12.0.0 12.0.6
openSUSE:Leap 15.5 jetty-minimal 0 9.4.54-150200.3.25.1

Related vulnerabilities