You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Eclipse Jetty provides a web server and servlet container. In versions 11.0.0 through 11.0.15, 10.0.0 through 10.0.15, and 9.0.0 through 9.4.52, an integer overflow in MetaDataBuilder.checkSize allows for HTTP/2 HPACK header values to
exceed their size limit. MetaDataBuilder.java determines if a header name or value exceeds the size limit, and throws an exception if the limit is exceeded. However, when length is very large and huffman is true, the multiplication by 4 in line 295
will overflow, and length will become negative. (_size+length) will now be negative, and the check on line 296 will not be triggered. Furthermore, MetaDataBuilder.checkSize allows for user-entered HPACK header value sizes to be negative, potentially leading to a very large buffer allocation later on when the user-entered size is multiplied by 2. This means that if a user provides a negative length value (or, more precisely, a length value which, when multiplied by the 4/3 fudge factor, is negative), and this length value is a very large positive number when multiplied by 2, then the user can cause a very large buffer to be allocated on the server. Users of HTTP/2 can be impacted by a remote denial of service attack. The issue has been fixed in versions 11.0.16, 10.0.16, and 9.4.53. There are no known workarounds.
In Eclipse Jetty 7.2.2 to 9.4.38, 10.0.0.alpha0 to 10.0.1, and 11.0.0.alpha0 to 11.0.1, CPU usage can reach 100% upon receiving a large invalid TLS frame.
In Eclipse Jetty version 9.2.26 and older, 9.3.25 and older, and 9.4.15 and older, the server is vulnerable to XSS conditions if a remote client USES a specially formatted URL against the DefaultServlet or ResourceHandler that is configured for showing a Listing of directory contents.
Jetty is a Java based web server and servlet engine. Prior to versions 9.4.52, 10.0.16, 11.0.16, and 12.0.1, Jetty accepts the + character proceeding the content-length value in a HTTP/1 header field. This is more permissive than allowed by the RFC and other servers routinely reject such requests with 400 responses. There is no known exploit scenario, but it is conceivable that request smuggling could result if jetty is used in combination with a server that does not close the connection after sending such a 400 response. Versions 9.4.52, 10.0.16, 11.0.16, and 12.0.1 contain a patch for this issue. There is no workaround as there is no known exploit scenario.
Jetty is a java based web server and servlet engine. In affected versions servlets with multipart support (e.g. annotated with @MultipartConfig) that call HttpServletRequest.getParameter() or HttpServletRequest.getParts() may cause OutOfMemoryError when the client sends a multipart request with a part that has a name but no filename and very large content. This happens even with the default settings of fileSizeThreshold=0 which should stream the whole part content to disk. An attacker client may send a large multipart request and cause the server to throw OutOfMemoryError. However, the server may be able to recover after the OutOfMemoryError and continue its service -- although it may take some time. This issue has been patched in versions 9.4.51, 10.0.14, and 11.0.14. Users are advised to upgrade. Users unable to upgrade may set the multipart parameter maxRequestSize which must be set to a non-negative value, so the whole multipart content is limited (although still read into memory).
For Eclipse Jetty versions <= 9.4.40, <= 10.0.2, <= 11.0.2, it is possible for requests to the ConcatServlet with a doubly encoded path to access protected resources within the WEB-INF directory. For example a request to /concat?/%2557EB-INF/web.xml can retrieve the web.xml file. This can reveal sensitive information regarding the implementation of a web application.
In Eclipse Jetty 9.4.6.v20170531 to 9.4.36.v20210114 (inclusive), 10.0.0, and 11.0.0 when Jetty handles a request containing multiple Accept headers with a large number of “quality” (i.e. q) parameters, the server may enter a denial of service (DoS) state due to high CPU usage processing those quality values, resulting in minutes of CPU time exhausted processing those quality values.
In Eclipse Jetty version 7.x, 8.x, 9.2.27 and older, 9.3.26 and older, and 9.4.16 and older, the server running on any OS and Jetty version combination will reveal the configured fully qualified directory base resource location on the output of the 404 error for not finding a Context that matches the requested path. The default server behavior on jetty-distribution and jetty-home will include at the end of the Handler tree a DefaultHandler, which is responsible for reporting this 404 error, it presents the various configured contexts as HTML for users to click through to. This produced HTML includes output that contains the configured fully qualified directory base resource location for each context.
In Eclipse Jetty version 9.4.0.RC0 to 9.4.34.v20201102, 10.0.0.alpha0 to 10.0.0.beta2, and 11.0.0.alpha0 to 11.0.0.beta2, if GZIP request body inflation is enabled and requests from different clients are multiplexed onto a single connection, and if an attacker can send a request with a body that is received entirely but not consumed by the application, then a subsequent request on the same connection will see that body prepended to its body. The attacker will not see any data but may inject data into the body of the subsequent request.
For Eclipse Jetty versions <= 9.4.40, <= 10.0.2, <= 11.0.2, if an exception is thrown from the SessionListener#sessionDestroyed() method, then the session ID is not invalidated in the session ID manager. On deployments with clustered sessions and multiple contexts this can result in a session not being invalidated. This can result in an application used on a shared computer being left logged in.
In Eclipse Jetty versions 9.4.0 thru 9.4.46, and 10.0.0 thru 10.0.9, and 11.0.0 thru 11.0.9 versions, the parsing of the authority segment of an http scheme URI, the Jetty HttpURI class improperly detects an invalid input as a hostname. This can lead to failures in a Proxy scenario.
Jetty is a java based web server and servlet engine. Nonstandard cookie parsing in Jetty may allow an attacker to smuggle cookies within other cookies, or otherwise perform unintended behavior by tampering with the cookie parsing mechanism. If Jetty sees a cookie VALUE that starts with " (double quote), it will continue to read the cookie string until it sees a closing quote -- even if a semicolon is encountered. So, a cookie header such as: DISPLAY_LANGUAGE="b; JSESSIONID=1337; c=d" will be parsed as one cookie, with the name DISPLAY_LANGUAGE and a value of b; JSESSIONID=1337; c=d instead of 3 separate cookies. This has security implications because if, say, JSESSIONID is an HttpOnly cookie, and the DISPLAY_LANGUAGE cookie value is rendered on the page, an attacker can smuggle the JSESSIONID cookie into the DISPLAY_LANGUAGE cookie and thereby exfiltrate it. This is significant when an intermediary is enacting some policy based on cookies, so a smuggled cookie can bypass that policy yet still be seen by the Jetty server or its logging system. This issue has been addressed in versions 9.4.51, 10.0.14, 11.0.14, and 12.0.0.beta0 and users are advised to upgrade. There are no known workarounds for this issue.
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Vulnerabilities
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
Vulnerable Library - jetty-http-9.4.12.v20180830.jar
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
Eclipse Jetty provides a web server and servlet container. In versions 11.0.0 through 11.0.15, 10.0.0 through 10.0.15, and 9.0.0 through 9.4.52, an integer overflow in
MetaDataBuilder.checkSize
allows for HTTP/2 HPACK header values toexceed their size limit.
MetaDataBuilder.java
determines if a header name or value exceeds the size limit, and throws an exception if the limit is exceeded. However, when length is very large and huffman is true, the multiplication by 4 in line 295will overflow, and length will become negative.
(_size+length)
will now be negative, and the check on line 296 will not be triggered. Furthermore,MetaDataBuilder.checkSize
allows for user-entered HPACK header value sizes to be negative, potentially leading to a very large buffer allocation later on when the user-entered size is multiplied by 2. This means that if a user provides a negative length value (or, more precisely, a length value which, when multiplied by the 4/3 fudge factor, is negative), and this length value is a very large positive number when multiplied by 2, then the user can cause a very large buffer to be allocated on the server. Users of HTTP/2 can be impacted by a remote denial of service attack. The issue has been fixed in versions 11.0.16, 10.0.16, and 9.4.53. There are no known workarounds.Publish Date: 2023-10-10
URL: CVE-2023-36478
CVSS 3 Score Details (7.5)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-wgh7-54f2-x98r
Release Date: 2023-10-10
Fix Resolution (org.eclipse.jetty:jetty-http): 9.4.53.v20231009
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Library - jetty-io-9.4.12.v20180830.jar
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
In Eclipse Jetty 7.2.2 to 9.4.38, 10.0.0.alpha0 to 10.0.1, and 11.0.0.alpha0 to 11.0.1, CPU usage can reach 100% upon receiving a large invalid TLS frame.
Publish Date: 2021-04-01
URL: CVE-2021-28165
CVSS 3 Score Details (7.5)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-26vr-8j45-3r4w
Release Date: 2021-04-01
Fix Resolution (org.eclipse.jetty:jetty-io): 9.4.39.v20210325
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Libraries - jetty-util-9.4.12.v20180830.jar, jetty-server-9.4.12.v20180830.jar
jetty-util-9.4.12.v20180830.jar
Utility classes for Jetty
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
In Eclipse Jetty version 9.2.26 and older, 9.3.25 and older, and 9.4.15 and older, the server is vulnerable to XSS conditions if a remote client USES a specially formatted URL against the DefaultServlet or ResourceHandler that is configured for showing a Listing of directory contents.
Publish Date: 2019-04-22
URL: CVE-2019-10241
CVSS 3 Score Details (6.1)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10241
Release Date: 2019-04-22
Fix Resolution (org.eclipse.jetty:jetty-util): 9.4.16.v20190411
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.16.v20190411
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Library - jetty-http-9.4.12.v20180830.jar
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
Jetty is a Java based web server and servlet engine. Prior to versions 9.4.52, 10.0.16, 11.0.16, and 12.0.1, Jetty accepts the
+
character proceeding the content-length value in a HTTP/1 header field. This is more permissive than allowed by the RFC and other servers routinely reject such requests with 400 responses. There is no known exploit scenario, but it is conceivable that request smuggling could result if jetty is used in combination with a server that does not close the connection after sending such a 400 response. Versions 9.4.52, 10.0.16, 11.0.16, and 12.0.1 contain a patch for this issue. There is no workaround as there is no known exploit scenario.Publish Date: 2023-09-15
URL: CVE-2023-40167
CVSS 3 Score Details (5.3)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-hmr7-m48g-48f6
Release Date: 2023-09-15
Fix Resolution (org.eclipse.jetty:jetty-http): 9.4.52.v20230823
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Library - jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
Jetty is a java based web server and servlet engine. In affected versions servlets with multipart support (e.g. annotated with
@MultipartConfig
) that callHttpServletRequest.getParameter()
orHttpServletRequest.getParts()
may causeOutOfMemoryError
when the client sends a multipart request with a part that has a name but no filename and very large content. This happens even with the default settings offileSizeThreshold=0
which should stream the whole part content to disk. An attacker client may send a large multipart request and cause the server to throwOutOfMemoryError
. However, the server may be able to recover after theOutOfMemoryError
and continue its service -- although it may take some time. This issue has been patched in versions 9.4.51, 10.0.14, and 11.0.14. Users are advised to upgrade. Users unable to upgrade may set the multipart parametermaxRequestSize
which must be set to a non-negative value, so the whole multipart content is limited (although still read into memory).Publish Date: 2023-04-18
URL: CVE-2023-26048
CVSS 3 Score Details (5.3)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-qw69-rqj8-6qw8
Release Date: 2023-04-18
Fix Resolution: 9.4.51.v20230217
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Libraries - jetty-server-9.4.12.v20180830.jar, jetty-http-9.4.12.v20180830.jar
jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
jetty-http-9.4.12.v20180830.jar
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
For Eclipse Jetty versions <= 9.4.40, <= 10.0.2, <= 11.0.2, it is possible for requests to the ConcatServlet with a doubly encoded path to access protected resources within the WEB-INF directory. For example a request to
/concat?/%2557EB-INF/web.xml
can retrieve the web.xml file. This can reveal sensitive information regarding the implementation of a web application.Publish Date: 2021-06-09
URL: CVE-2021-28169
CVSS 3 Score Details (5.3)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-gwcr-j4wh-j3cq
Release Date: 2021-06-09
Fix Resolution (org.eclipse.jetty:jetty-http): 9.4.41.v20210516
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Library - jetty-http-9.4.12.v20180830.jar
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
In Eclipse Jetty 9.4.6.v20170531 to 9.4.36.v20210114 (inclusive), 10.0.0, and 11.0.0 when Jetty handles a request containing multiple Accept headers with a large number of “quality” (i.e. q) parameters, the server may enter a denial of service (DoS) state due to high CPU usage processing those quality values, resulting in minutes of CPU time exhausted processing those quality values.
Publish Date: 2021-02-26
URL: CVE-2020-27223
CVSS 3 Score Details (5.3)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-m394-8rww-3jr7
Release Date: 2021-02-26
Fix Resolution (org.eclipse.jetty:jetty-http): 9.4.37.v20210219
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Library - jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
In Eclipse Jetty version 7.x, 8.x, 9.2.27 and older, 9.3.26 and older, and 9.4.16 and older, the server running on any OS and Jetty version combination will reveal the configured fully qualified directory base resource location on the output of the 404 error for not finding a Context that matches the requested path. The default server behavior on jetty-distribution and jetty-home will include at the end of the Handler tree a DefaultHandler, which is responsible for reporting this 404 error, it presents the various configured contexts as HTML for users to click through to. This produced HTML includes output that contains the configured fully qualified directory base resource location for each context.
Publish Date: 2019-04-22
URL: CVE-2019-10247
CVSS 3 Score Details (5.3)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://bugs.eclipse.org/bugs/show_bug.cgi?id=546577
Release Date: 2019-04-22
Fix Resolution: 9.4.17.v20190418
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Library - jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
In Eclipse Jetty version 9.4.0.RC0 to 9.4.34.v20201102, 10.0.0.alpha0 to 10.0.0.beta2, and 11.0.0.alpha0 to 11.0.0.beta2, if GZIP request body inflation is enabled and requests from different clients are multiplexed onto a single connection, and if an attacker can send a request with a body that is received entirely but not consumed by the application, then a subsequent request on the same connection will see that body prepended to its body. The attacker will not see any data but may inject data into the body of the subsequent request.
Publish Date: 2020-11-28
URL: CVE-2020-27218
CVSS 3 Score Details (4.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-86wm-rrjm-8wh8
Release Date: 2020-11-28
Fix Resolution: 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Library - jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
For Eclipse Jetty versions <= 9.4.40, <= 10.0.2, <= 11.0.2, if an exception is thrown from the SessionListener#sessionDestroyed() method, then the session ID is not invalidated in the session ID manager. On deployments with clustered sessions and multiple contexts this can result in a session not being invalidated. This can result in an application used on a shared computer being left logged in.
Publish Date: 2021-06-22
URL: CVE-2021-34428
CVSS 3 Score Details (2.9)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-m6cp-vxjx-65j6
Release Date: 2021-06-22
Fix Resolution: 9.4.41.v20210516
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Libraries - jetty-http-9.4.12.v20180830.jar, jetty-server-9.4.12.v20180830.jar
jetty-http-9.4.12.v20180830.jar
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
In Eclipse Jetty versions 9.4.0 thru 9.4.46, and 10.0.0 thru 10.0.9, and 11.0.0 thru 11.0.9 versions, the parsing of the authority segment of an http scheme URI, the Jetty HttpURI class improperly detects an invalid input as a hostname. This can lead to failures in a Proxy scenario.
Publish Date: 2022-07-07
URL: CVE-2022-2047
CVSS 3 Score Details (2.7)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-cj7v-27pg-wf7q
Release Date: 2022-07-07
Fix Resolution (org.eclipse.jetty:jetty-http): 9.4.47.v20220610
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
Vulnerable Libraries - jetty-http-9.4.12.v20180830.jar, jetty-server-9.4.12.v20180830.jar
jetty-http-9.4.12.v20180830.jar
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
jetty-server-9.4.12.v20180830.jar
The core jetty server artifact.
Library home page: https://webtide.com
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy:
Found in HEAD commit: 972bf4acfb815db0cb1af2d723f537b5e793f3c9
Found in base branch: main
Vulnerability Details
Jetty is a java based web server and servlet engine. Nonstandard cookie parsing in Jetty may allow an attacker to smuggle cookies within other cookies, or otherwise perform unintended behavior by tampering with the cookie parsing mechanism. If Jetty sees a cookie VALUE that starts with
"
(double quote), it will continue to read the cookie string until it sees a closing quote -- even if a semicolon is encountered. So, a cookie header such as:DISPLAY_LANGUAGE="b; JSESSIONID=1337; c=d"
will be parsed as one cookie, with the name DISPLAY_LANGUAGE and a value of b; JSESSIONID=1337; c=d instead of 3 separate cookies. This has security implications because if, say, JSESSIONID is an HttpOnly cookie, and the DISPLAY_LANGUAGE cookie value is rendered on the page, an attacker can smuggle the JSESSIONID cookie into the DISPLAY_LANGUAGE cookie and thereby exfiltrate it. This is significant when an intermediary is enacting some policy based on cookies, so a smuggled cookie can bypass that policy yet still be seen by the Jetty server or its logging system. This issue has been addressed in versions 9.4.51, 10.0.14, 11.0.14, and 12.0.0.beta0 and users are advised to upgrade. There are no known workarounds for this issue.Publish Date: 2023-04-18
URL: CVE-2023-26049
CVSS 3 Score Details (2.4)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-p26g-97m4-6q7c
Release Date: 2023-04-18
Fix Resolution (org.eclipse.jetty:jetty-http): 9.4.51.v20230217
Direct dependency fix Resolution (org.eclipse.jetty:jetty-server): 9.4.35.v20201120
⛑️ Automatic Remediation will be attempted for this issue.
⛑️Automatic Remediation will be attempted for this issue.
The text was updated successfully, but these errors were encountered: