Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:maven/org.eclipse.jetty/jetty-server@10.0.1
purl pkg:maven/org.eclipse.jetty/jetty-server@10.0.1
Next non-vulnerable version 10.0.16
Latest non-vulnerable version 12.1.6
Risk 4.0
Vulnerabilities affecting this package (7)
Vulnerability Summary Fixed by
VCID-9xw3-4a4u-hbbb
Aliases:
CVE-2023-26049
GHSA-p26g-97m4-6q7c
Exposure of Sensitive Information to an Unauthorized Actor 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.
10.0.14
Affected by 1 other vulnerability.
11.0.14
Affected by 1 other vulnerability.
12.0.0.beta0
Affected by 0 other vulnerabilities.
12.0.1
Affected by 0 other vulnerabilities.
VCID-h3wz-rdkt-7ue6
Aliases:
CVE-2022-2191
GHSA-8mpp-f3f7-xc28
Jetty SslConnection does not release pooled ByteBuffers in case of errors ### Impact `SslConnection` does not release `ByteBuffer`s in case of error code paths. For example, TLS handshakes that require client-auth with clients that send expired certificates will trigger a TLS handshake errors and the `ByteBuffer`s used to process the TLS handshake will be leaked. ### Workarounds Configure explicitly a `RetainableByteBufferPool` with `max[Heap|Direct]Memory` to limit the amount of memory that is leaked. Eventually the pool will be full of "active" entries (the leaked ones) and will provide `ByteBuffer`s that will be GCed normally. _With embedded-jetty_ ``` java int maxBucketSize = 1000; long maxHeapMemory = 128 * 1024L * 1024L; // 128 MB long maxDirectMemory = 128 * 1024L * 1024L; // 128 MB RetainableByteBufferPool rbbp = new ArrayRetainableByteBufferPool(0, -1, -1, maxBucketSize, maxHeapMemory, maxDirectMemory); server.addBean(rbbp); // make sure the ArrayRetainableByteBufferPool is added before the server is started server.start(); ``` _With jetty-home/jetty-base_ Create a `${jetty.base}/etc/retainable-byte-buffer-config.xml` ``` xml <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "https://www.eclipse.org/jetty/configure_10_0.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server"> <Call name="addBean"> <Arg> <New class="org.eclipse.jetty.io.ArrayRetainableByteBufferPool"> <Arg type="int"><Property name="jetty.byteBufferPool.minCapacity" default="0"/></Arg> <Arg type="int"><Property name="jetty.byteBufferPool.factor" default="-1"/></Arg> <Arg type="int"><Property name="jetty.byteBufferPool.maxCapacity" default="-1"/></Arg> <Arg type="int"><Property name="jetty.byteBufferPool.maxBucketSize" default="1000"/></Arg> <Arg type="long"><Property name="jetty.byteBufferPool.maxHeapMemory" default="128000000"/></Arg> <Arg type="long"><Property name="jetty.byteBufferPool.maxDirectMemory" default="128000000"/></Arg> </New> </Arg> </Call> </Configure> ``` And then reference it in `${jetty.base}/start.d/retainable-byte-buffer-config.ini` ``` etc/retainable-byte-buffer-config.xml ``` ### References https://github.com/eclipse/jetty.project/issues/8161 ### For more information * Email us at [security@webtide.com](mailto:security@webtide.com)
10.0.10
Affected by 3 other vulnerabilities.
11.0.10
Affected by 3 other vulnerabilities.
VCID-kxtv-ma18-8fer
Aliases:
CVE-2021-28163
GHSA-j6qj-j888-vvgq
Directory exposure in jetty ### Impact If the `${jetty.base}` directory or the `${jetty.base}/webapps` directory is a symlink (soft link in Linux), the contents of the `${jetty.base}/webapps` directory may be deployed as a static web application, exposing the content of the directory for download. For example, the problem manifests in the following `${jetty.base}`: ```$ tree demo-base/ demo-base/ ├── etc ├── lib ├── resources ├── start.d ├── deploy │   └── async-rest.war └── webapps -> deploy ``` ### Workarounds Do not use a symlink
10.0.2
Affected by 5 other vulnerabilities.
11.0.2
Affected by 5 other vulnerabilities.
VCID-prd3-mmuv-n3dc
Aliases:
CVE-2021-28165
GHSA-26vr-8j45-3r4w
Jetty vulnerable to incorrect handling of invalid large TLS frame, exhausting CPU resources ### Impact When using SSL/TLS with Jetty, either with HTTP/1.1, HTTP/2, or WebSocket, the server may receive an invalid large (greater than 17408) TLS frame that is incorrectly handled, causing CPU resources to eventually reach 100% usage. ### Workarounds The problem can be worked around by compiling the following class: ```java package org.eclipse.jetty.server.ssl.fix6072; import java.nio.ByteBuffer; import javax.net.ssl.SSLEngine; import javax.net.ssl.SSLEngineResult; import javax.net.ssl.SSLException; import javax.net.ssl.SSLHandshakeException; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.ssl.SslConnection; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.annotation.Name; import org.eclipse.jetty.util.ssl.SslContextFactory; public class SpaceCheckingSslConnectionFactory extends SslConnectionFactory { public SpaceCheckingSslConnectionFactory(@Name("sslContextFactory") SslContextFactory factory, @Name("next") String nextProtocol) { super(factory, nextProtocol); } @Override protected SslConnection newSslConnection(Connector connector, EndPoint endPoint, SSLEngine engine) { return new SslConnection(connector.getByteBufferPool(), connector.getExecutor(), endPoint, engine, isDirectBuffersForEncryption(), isDirectBuffersForDecryption()) { @Override protected SSLEngineResult unwrap(SSLEngine sslEngine, ByteBuffer input, ByteBuffer output) throws SSLException { SSLEngineResult results = super.unwrap(sslEngine, input, output); if ((results.getStatus() == SSLEngineResult.Status.BUFFER_UNDERFLOW || results.getStatus() == SSLEngineResult.Status.OK && results.bytesConsumed() == 0 && results.bytesProduced() == 0) && BufferUtil.space(input) == 0) { BufferUtil.clear(input); throw new SSLHandshakeException("Encrypted buffer max length exceeded"); } return results; } }; } } ``` This class can be deployed by: + The resulting class file should be put into a jar file (eg sslfix6072.jar) + The jar file should be made available to the server. For a normal distribution this can be done by putting the file into ${jetty.base}/lib + Copy the file `${jetty.home}/modules/ssl.mod` to `${jetty.base}/modules` + Edit the `${jetty.base}/modules/ssl.mod` file to have the following section: ``` [lib] lib/sslfix6072.jar ``` + Copy the file `${jetty.home}/etc/jetty-https.xml` and`${jetty.home}/etc/jetty-http2.xml` to `${jetty.base}/etc` + Edit files `${jetty.base}/etc/jetty-https.xml` and `${jetty.base}/etc/jetty-http2.xml`, changing any reference of `org.eclipse.jetty.server.SslConnectionFactory` to `org.eclipse.jetty.server.ssl.fix6072.SpaceCheckingSslConnectionFactory`. For example: ```xml <Call name="addIfAbsentConnectionFactory"> <Arg> <New class="org.eclipse.jetty.server.ssl.fix6072.SpaceCheckingSslConnectionFactory"> <Arg name="next">http/1.1</Arg> <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg> </New> </Arg> </Call> ``` + Restart Jetty
10.0.2
Affected by 5 other vulnerabilities.
11.0.2
Affected by 5 other vulnerabilities.
VCID-q35p-8qhp-aqec
Aliases:
CVE-2021-34428
GHSA-m6cp-vxjx-65j6
SessionListener can prevent a session from being invalidated breaking logout ### Impact 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. There is no known path for an attacker to induce such an exception to be thrown, thus they must rely on an application to throw such an exception. The OP has also identified that during the call to `sessionDestroyed`, the `getLastAccessedTime()` throws an `IllegalStateException`, which potentially contrary to the servlet spec, so applications calling this method may always throw and fail to log out. If such an application was only tested on a non clustered test environment, then it may be deployed on a clustered environment with multiple contexts and fail to log out. ### Workarounds The application should catch all Throwables within their `SessionListener#sessionDestroyed()` implementations.
10.0.3
Affected by 4 other vulnerabilities.
11.0.3
Affected by 4 other vulnerabilities.
VCID-q3k2-1x5q-buhy
Aliases:
CVE-2023-40167
GHSA-hmr7-m48g-48f6
Improper Handling of Length Parameter Inconsistency 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.
10.0.16
Affected by 0 other vulnerabilities.
11.0.16
Affected by 0 other vulnerabilities.
12.0.1
Affected by 0 other vulnerabilities.
VCID-y3mv-vmwd-tydt
Aliases:
CVE-2023-26048
GHSA-qw69-rqj8-6qw8
False positive This vulnerability has been marked as a false positive.
10.0.14
Affected by 1 other vulnerability.
11.0.14
Affected by 1 other vulnerability.
Vulnerabilities fixed by this package (1)
Vulnerability Summary Aliases
VCID-uuju-ey95-tyfq DOS vulnerability for Quoted Quality CSV headers ### Impact When Jetty handles a request containing request headers with a large number of “quality” (i.e. q) parameters (such as what are seen on the `Accept`, `Accept-Encoding`, and `Accept-Language` request headers), the server may enter a denial of service (DoS) state due to high CPU usage while sorting the list of values based on their quality values. A single request can easily consume minutes of CPU time before it is even dispatched to the application. The only features within Jetty that can trigger this behavior are: - Default Error Handling - the `Accept` request header with the `QuotedQualityCSV` is used to determine what kind of content to send back to the client (html, text, json, xml, etc) - `StatisticsServlet` - uses the `Accept` request header with the `QuotedQualityCSV` to determine what kind of content to send back to the client (xml, json, text, html, etc) - `HttpServletRequest.getLocale()` - uses the `Accept-Language` request header with the `QuotedQualityCSV` to determine which “preferred” language is returned on this call. - `HttpservletRequest.getLocales()` - is similar to the above, but returns an ordered list of locales based on the quality values on the `Accept-Language` request header. - `DefaultServlet` - uses the `Accept-Encoding` request header with the `QuotedQualityCSV` to determine which kind of pre-compressed content should be sent back for static content (content that is not matched against a url-pattern in your web app) ### Versions `QuotedQualityCSV` was introduced to Jetty 9.3.9.v20160517 and the bug that introduced the vulnerability was in 9.4.6.v20170531. Currently, known vulnerable versions include: - 9.4.6.v20170531 thru to 9.4.36.v20210114 - 10.0.0 - 11.0.0 ### Workarounds Quality ordered values are used infrequently by jetty so they can be avoided by: * Do not use the default error page/handler. * Do not deploy the `StatisticsServlet` exposed to the network * Do not call `getLocale` API * Do not enable precompressed static content in the `DefaultServlet` ### Patches All patches are available for download from the Eclipse Jetty website at [https://www.eclipse.org/jetty/download.php](https://www.eclipse.org/jetty/download.php) - 9.4.37.v20210219 and greater - 10.0.1 and greater - 11.0.1 and greater CVE-2020-27223
GHSA-m394-8rww-3jr7

Date Actor Action Vulnerability Source VulnerableCode Version
2026-04-16T22:38:42.865167+00:00 GitLab Importer Affected by VCID-q3k2-1x5q-buhy https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-40167.yml 38.4.0
2026-04-16T22:27:11.836492+00:00 GitLab Importer Affected by VCID-y3mv-vmwd-tydt https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26048.yml 38.4.0
2026-04-16T22:27:05.484608+00:00 GitLab Importer Affected by VCID-9xw3-4a4u-hbbb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26049.yml 38.4.0
2026-04-16T22:05:18.945237+00:00 GitLab Importer Affected by VCID-h3wz-rdkt-7ue6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2022-2191.yml 38.4.0
2026-04-16T21:26:43.130234+00:00 GitLab Importer Affected by VCID-q35p-8qhp-aqec https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-34428.yml 38.4.0
2026-04-16T21:20:04.611954+00:00 GitLab Importer Affected by VCID-prd3-mmuv-n3dc https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28165.yml 38.4.0
2026-04-16T21:19:59.673610+00:00 GitLab Importer Affected by VCID-kxtv-ma18-8fer https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28163.yml 38.4.0
2026-04-16T21:17:51.987571+00:00 GitLab Importer Fixing VCID-uuju-ey95-tyfq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2020-27223.yml 38.4.0
2026-04-11T23:58:07.741380+00:00 GitLab Importer Affected by VCID-q3k2-1x5q-buhy https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-40167.yml 38.3.0
2026-04-11T23:45:33.472740+00:00 GitLab Importer Affected by VCID-y3mv-vmwd-tydt https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26048.yml 38.3.0
2026-04-11T23:45:26.256267+00:00 GitLab Importer Affected by VCID-9xw3-4a4u-hbbb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26049.yml 38.3.0
2026-04-11T23:21:16.650045+00:00 GitLab Importer Affected by VCID-h3wz-rdkt-7ue6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2022-2191.yml 38.3.0
2026-04-11T22:39:38.136178+00:00 GitLab Importer Affected by VCID-q35p-8qhp-aqec https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-34428.yml 38.3.0
2026-04-11T22:32:24.799825+00:00 GitLab Importer Affected by VCID-prd3-mmuv-n3dc https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28165.yml 38.3.0
2026-04-11T22:32:19.759340+00:00 GitLab Importer Affected by VCID-kxtv-ma18-8fer https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28163.yml 38.3.0
2026-04-11T22:30:02.153410+00:00 GitLab Importer Fixing VCID-uuju-ey95-tyfq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2020-27223.yml 38.3.0
2026-04-03T00:01:10.418484+00:00 GitLab Importer Affected by VCID-q3k2-1x5q-buhy https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-40167.yml 38.1.0
2026-04-02T23:49:09.917124+00:00 GitLab Importer Affected by VCID-y3mv-vmwd-tydt https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26048.yml 38.1.0
2026-04-02T23:49:03.549892+00:00 GitLab Importer Affected by VCID-9xw3-4a4u-hbbb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26049.yml 38.1.0
2026-04-02T23:28:10.941150+00:00 GitLab Importer Affected by VCID-h3wz-rdkt-7ue6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2022-2191.yml 38.1.0
2026-04-02T22:50:12.279656+00:00 GitLab Importer Affected by VCID-q35p-8qhp-aqec https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-34428.yml 38.1.0
2026-04-02T22:43:39.954462+00:00 GitLab Importer Affected by VCID-prd3-mmuv-n3dc https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28165.yml 38.1.0
2026-04-02T22:43:35.594026+00:00 GitLab Importer Affected by VCID-kxtv-ma18-8fer https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28163.yml 38.1.0
2026-04-02T22:41:31.813270+00:00 GitLab Importer Fixing VCID-uuju-ey95-tyfq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2020-27223.yml 38.1.0
2026-04-02T16:56:13.661459+00:00 GHSA Importer Fixing VCID-uuju-ey95-tyfq https://github.com/advisories/GHSA-m394-8rww-3jr7 38.1.0
2026-04-01T18:12:31.597557+00:00 GitLab Importer Affected by VCID-y3mv-vmwd-tydt https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26048.yml 38.0.0
2026-04-01T18:12:24.555935+00:00 GitLab Importer Affected by VCID-9xw3-4a4u-hbbb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2023-26049.yml 38.0.0
2026-04-01T17:49:21.493817+00:00 GitLab Importer Affected by VCID-h3wz-rdkt-7ue6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2022-2191.yml 38.0.0
2026-04-01T17:08:10.358579+00:00 GitLab Importer Affected by VCID-q35p-8qhp-aqec https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-34428.yml 38.0.0
2026-04-01T17:01:25.877970+00:00 GitLab Importer Affected by VCID-prd3-mmuv-n3dc https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28165.yml 38.0.0
2026-04-01T17:01:20.926121+00:00 GitLab Importer Affected by VCID-kxtv-ma18-8fer https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2021-28163.yml 38.0.0
2026-04-01T16:59:04.414091+00:00 GitLab Importer Fixing VCID-uuju-ey95-tyfq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.eclipse.jetty/jetty-server/CVE-2020-27223.yml 38.0.0
2026-04-01T13:01:50.865482+00:00 GithubOSV Importer Fixing VCID-uuju-ey95-tyfq https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/03/GHSA-m394-8rww-3jr7/GHSA-m394-8rww-3jr7.json 38.0.0