Skip to content

GHSA-q4rv-gq96-w7c5 CVE-2024-13009

**UNSUPPORTED WHEN ASSIGNED** GzipHandler causes part of request body to be seen as request body of a separate request

High Maven
Severity
7.2 / 10
High · CVSS 3.1
Exploit chance (EPSS)
0.55%
Chance of exploitation in the next 30 days. Higher than 45.92% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-404 Improper Resource Shutdown or Release
Fix
9.4.57.v20241219
Upgrade org.eclipse.jetty:jetty-server to this version or later

Description

In Eclipse Jetty versions 9.4.0 to 9.4.56 a buffer can be incorrectly released when confronted with a gzip error when inflating a request body. This can result in corrupted and/or inadvertent sharing of data between requests.

Affected versions

Maven

PackageVulnerableFixed in
org.eclipse.jetty:jetty-server
>= 9.4.0, < 9.4.57.v20241219
9.4.57.v20241219

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

org.eclipse.jetty:jetty-server Maven → 9.4.57.v20241219

maven
<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><version>9.4.57.v20241219</version></dependency>
gradle
implementation("org.eclipse.jetty:jetty-server:9.4.57.v20241219")

Severity breakdown

CVSS 3.1 7.2

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Weakness

CWE-404: Improper Resource Shutdown or Release

The product does not release or incorrectly releases a resource before it is made available for re-use.

How to prevent it
  • Requirements: Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. For example, languages such as Java, Ruby, and Lisp perform automatic garbage collection that releases memory for objects that have been deallocated.
  • Implementation: It is good practice to be responsible for freeing all resources you allocate and to be consistent with how and where you free memory in a function. If you allocate memory that you intend to free upon completion of the function, you must be sure to free the memory at all exit points for that function including error conditions.
  • Implementation: Memory should be allocated/freed using matching functions such as malloc/free, new/delete, and new[]/delete[].
  • Implementation: When releasing a complex object or structure, ensure that you properly dispose of all of its member components, not just the object itself.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-7p3p-8qv8-m2vh
Eclipse Jetty: HTTP Authority/Host mismatch
Medium Also affects org.eclipse.jetty:jetty-server
GHSA-f4v5-65jj-pcr2
Eclipse Jetty: Cross-Request Leakage for trailers on HTTP/1.1 keep-alive connections
High Also affects org.eclipse.jetty:jetty-server
GHSA-9299-c6m4-mjhc
Eclipse Jetty: DoS attack triggering OutOfMemory with 100-Continue requests
High Also affects org.eclipse.jetty:jetty-server
GHSA-xxh7-fcf3-rj7f
The Eclipse Jetty Server Artifact has a Gzip request memory leak
High Also affects org.eclipse.jetty:jetty-server
GHSA-g8m5-722r-8whq
Eclipse Jetty's ThreadLimitHandler.getRemote() vulnerable to remote DoS attacks
Medium Also affects org.eclipse.jetty:jetty-server
GHSA-p26g-97m4-6q7c
Eclipse Jetty's cookie parsing of quoted values can exfiltrate values from other cookies
Medium Also affects org.eclipse.jetty:jetty-server
GHSA-qw69-rqj8-6qw8
OutOfMemoryError for large multipart without filename in Eclipse Jetty
Medium Also affects org.eclipse.jetty:jetty-server
GHSA-8mpp-f3f7-xc28
Jetty SslConnection does not release pooled ByteBuffers in case of errors
High Also affects org.eclipse.jetty:jetty-server
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor