chore(deps): update dependency org.eclipse.jetty:jetty-server to v12.0.36 [security] - #1373
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/maven-org.eclipse.jetty-jetty-server-vulnerability
branch
from
March 5, 2026 23:51
67d8c7f to
36b10ef
Compare
renovate
Bot
deleted the
renovate/maven-org.eclipse.jetty-jetty-server-vulnerability
branch
April 27, 2026 17:31
renovate
Bot
force-pushed
the
renovate/maven-org.eclipse.jetty-jetty-server-vulnerability
branch
2 times, most recently
from
April 28, 2026 04:58
36b10ef to
c1bc02e
Compare
renovate
Bot
force-pushed
the
renovate/maven-org.eclipse.jetty-jetty-server-vulnerability
branch
from
July 26, 2026 14:09
c1bc02e to
0ad862a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
12.0.5→12.0.36Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Eclipse Jetty's ThreadLimitHandler.getRemote() vulnerable to remote DoS attacks
CVE-2024-8184 / GHSA-g8m5-722r-8whq
More information
Details
Impact
Remote DOS attack can cause out of memory
Description
There exists a security vulnerability in Jetty's
ThreadLimitHandler.getRemote()whichcan be exploited by unauthorized users to cause remote denial-of-service (DoS) attack. By
repeatedly sending crafted requests, attackers can trigger OutofMemory errors and exhaust the
server's memory.
Affected Versions
Patched Versions
Workarounds
Do not use
ThreadLimitHandler.Consider use of
QoSHandlerinstead to artificially limit resource utilization.References
Jetty 12 - https://github.com/jetty/jetty.project/pull/11723
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
The Eclipse Jetty Server Artifact has a Gzip request memory leak
CVE-2026-1605 / GHSA-xxh7-fcf3-rj7f
More information
Details
Description (as reported)
There is a memory leak when using
GzipHandlerin jetty-12.0.30 that can cause off-heap OOMs. This can be used for DoS attacks so I'm reporting this as a vulnerability.The leak is created by requests where the request is inflated (
Content-Encoding: gzip) and the response is not deflated (noAccept-Encoding: gzip). In these conditions, a new inflator will be created byGzipRequestand never released back intoGzipRequest.__inflaterPoolbecausegzipRequest.destory()is not called.In heap dumps one can see thousands of
java.util.zip.Inflatorobjects, which use both Java heaps and native memory. Leaking native memory causes of off-heap OOMs.Code path in
GzipHandler.handle():GzipRequestis created when request inflation is needed.GzipResponseAndCallbackwhen both inflation and deflation are needed.gzipRequest.destroy()is only called in the "request not accepted" path (returns false)When deflation is needed,
GzipResponseAndCallback(lines 102 and 116) properly callsgzipRequest.destroy()in itssucceeded()andfailed()methods. But this wrapper is only created when deflation is needed.Possible fix:
The callback should be wrapped whenever a
GzipRequestis created, not just when deflation is needed. This ensuresgzipRequest.destroy()is always called when the request completes.Impact
The leak causes the JVM to crash with OOME.
Patches
No patches yet.
Workarounds
Disable
GzipHandler.References
https://github.com/jetty/jetty.project/issues/14260
https://gitlab.eclipse.org/security/cve-assignment/-/issues/79
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Eclipse Jetty: HTTP Authority/Host mismatch
CVE-2026-6790 / GHSA-7p3p-8qv8-m2vh
More information
Details
Summary
Jetty currently accepts HTTP/2 and HTTP/3 requests where the regular
Host header and the pseudo-header :authority
do not match. As a result, the same request can carry two different host identities
through Jetty:
HttpURI/Request.getServerName(request)uses:authorityHostThis creates a host/authority confusion condition that can break
security assumptions in higher layers.
Jetty already performs an explicit authority/Host consistency check on
the HTTP/1.1 path, but equivalent validation is missing on the HTTP/2
and HTTP/3 paths.
Security Impact
This issue is not inherently remote code execution, but it can become
security-relevant in deployments that rely on the request host for
security-sensitive decisions, including:
Potential consequences include:
Technical Root Cause
:authorityis parsed separately into authority/URI stateHostis preserved as a normal request headerComplianceUtils.verify(httpCompliance, requestMetaData, listener)MISMATCHED_AUTHORITYHostmatchRelevant Code Locations
HTTP/2 metadata builder:
jetty-core/jetty-http2/jetty-http2-hpack/src/main/java/org/eclipse/jetty/http2/hpack/internal/MetaDataBuilder.javaHTTP/3 metadata builder:
jetty-core/jetty-http3/jetty-http3-qpack/src/main/java/org/eclipse/jetty/http3/qpack/internal/metadata/MetaDataBuilder.javaHTTP/2 server entry:
jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HttpStreamOverHTTP2.javaHTTP/3 server entry:
jetty-core/jetty-http3/jetty-http3-server/src/main/java/org/eclipse/jetty/http3/server/internal/HttpStreamOverHTTP3.javaShared HTTP compliance verification:
jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ComplianceUtils.javaHTTP/1.1 authority/Host consistency check:
jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpConnection.javaDefined but not enforced on H2/H3:
jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpCompliance.javaReproduction
I reproduced this on local Jetty 12.1.9-SNAPSHOT source.
Minimal reproduction steps:
Observed result:
This shows that a single attacker-controlled request can preserve two conflicting host interpretations inside Jetty.
Tests Used
HTTP/2 rejection test:
org.eclipse.jetty.http2.tests.HTTP2Test#testRejectMismatchedHostHeaderAndAuthorityHTTP/2 exploitability test:
org.eclipse.jetty.http2.tests.HTTP2Test#testMismatchedHostHeaderAndAuthoritySplitsAuthorityFromHostHeaderHTTP/3 rejection test:
org.eclipse.jetty.http3.tests.HandlerClientServerTest#testRejectMismatchedHostHeaderAndAuthorityHTTP/3 exploitability test:
org.eclipse.jetty.http3.tests.HandlerClientServerTest#testMismatchedHostHeaderAndAuthoritySplitsAuthorityFromHostHeaderObserved behavior:
Project-Internal Evidence of Real Impact
Examples:
jetty-openidusesRequest.getServerName(request)to construct redirect URLsjetty-ee11-proxyuses the rawHostheader when buildingForwardedThis indicates that the issue is not merely theoretical: Jetty’s own
ecosystem already contains code paths where different host sources are
used for different purposes.
Affected Version
Confirmed affected version:
Other versions may also be affected if they share the same HTTP/2 /
HTTP/3 request construction and compliance-validation logic. I have
not yet completed a historical version matrix and would recommend
confirming exact affected ranges from Jetty’s branch history.
Suggested Fix
Recommend adding HTTP/2 and HTTP/3 validation equivalent to the
existing HTTP/1.1 authority/Host consistency check:
Also adding explicit HTTP/2 and HTTP/3 regression coverage for this case.
Disclosure Status
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Eclipse Jetty: Cross-Request Leakage for trailers on HTTP/1.1 keep-alive connections
CVE-2026-10051 / GHSA-f4v5-65jj-pcr2
More information
Details
Description
Workarounds
Do not rely on HTTP request trailers for security-sensitive logic, or disable persistent connections by closing the connection after each HTTP/1.1 request.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.