Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Security] Bump jetty.version from 9.4.34.v20201102 to 11.0.4 #210

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot-preview[bot]
Copy link
Contributor

@dependabot-preview dependabot-preview bot commented Jun 9, 2021

⚠️ Dependabot Preview has been deactivated ⚠️

This pull request was created by Dependabot Preview, and you've upgraded to Dependabot. This means it won't respond to dependabot commands nor will it be automatically closed if a new version is found.

If you close this pull request, Dependabot will re-create it the next time it checks for updates and everything will work as expected.


Bumps jetty.version from 9.4.34.v20201102 to 11.0.4.
Updates jetty-server from 9.4.34.v20201102 to 11.0.4 This update includes security fixes.

Vulnerabilities fixed

Sourced from The GitHub Security Advisory Database.

Buffer not correctly recycled in Gzip Request inflation

Impact

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 by not consumed by the application, then a subsequent request on the same connection will see that body prepended to it's body.

The attacker will not see any data, but may inject data into the body of the subsequent request

CVE score is 4.8 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L

Workarounds

The problem can be worked around by either:

  • Disabling compressed request body inflation by GzipHandler.
  • By always fully consuming the request content before sending a response.
  • By adding a Connection: close to any response where the servlet does not fully consume request content.

Affected versions: >= 9.4.0, <= 9.4.34

Sourced from The GitHub Security Advisory Database.

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

... (truncated)

Affected versions: >= 9.4.6, < 9.4.37

Release notes

Sourced from jetty-server's releases.

11.0.3

Changelog

  • #3764 DeprecationWarning Decorator
  • #5684 Review disabled tests
  • #5798 jetty-runner startup error with jetty-10
  • #5817 Provide more filtering for CustomRequestLog
  • #6049 Default provider [files] section always executed
  • #6084 GzipHandler: NPE in setDeflaterPoolCapacity and setInflaterPoolCapacity
  • #6098 jetty-cdi is missing from jetty-bom
  • #6099 Cipher preference may break SNI if certificates have different key types
  • #6105 HttpConnection.getBytesIn() incorrect for requests with chunked content
  • #6106 WebSocket/CDI integration is broken in Jetty 10
  • #6125 Do not allow override of jakarta.* container classes by webapps per Servlet 5.0 Section 15.2.1
  • #6132 Ambiguous segment in URI in DELETE /a/projects/foo/branches/refs%2Fheads%2Ftest request after upgrade from 10.0.0 to 10.0.2
  • #6153 jetty-maven-plugin does not correctly pass JVM arguments for external deployMode
  • #6159 Jetty with Conscrypt unable to handle any HTTPS requests when connected by IP rather than hostname.
  • #6166 WebSocket MessageInputStream.read() spends a lot of time in ByteBuffer.compact()
  • #6205 OpenIdAuthenticator may use incorrect redirect
  • #6208 HTTP/2 max local stream count exceeded
  • #6224 make jetty-jspc-maven-plugin @threadsafe
  • #6227 Better resolve race between AsyncListener.onTimeout and AsyncContext.dispatch
  • #6238 jetty-keystore Invalid manifest header Bundle-SymbolicName: ""
  • #6250 Lazily allocate HTTP2Stream data queue
  • #6251 Use CyclicTimeout for HTTP2Streams
  • #6254 Total timeout not enforced for queued requests
  • #6263 Review URI encoding in ConcatServlet & WelcomeFilter
  • #6277 Better handle exceptions thrown from session destroy listener
  • #6280 Copy ServletHolder class/instance properly during startWebapp
  • #6287 Class loading broken for WebSocketClient used inside webapp

11.0.2

Changelog

⚠️ Important Security related Changes

Other Changes

  • #4275 - Path Normalization/Traversal - Context Matching
  • #5828 - Allow to create a WebSocketContainer passing HttpClient
  • #5832 - Ctrl-C after jetty:run produces NoClassDefFoundError
  • #5835 - Review Durable Filters, Servlets and Listeners
  • #5977 - Cache-Control header set by a filter is override by the value from DefaultServlet configuration
  • #5994 - QueuedThreadPool "free" threads
  • #5996 - ERROR : No module found to provide logback-impl for logback-access{enabled}
  • #5999 - HttpURI ArrayIndexOutOfBounds

... (truncated)

Commits
  • 5bcdeb5 Updating to version 11.0.4
  • d96588e Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
  • 3a8af44 Fixes #6330 - CustomRequestLog is missing HTTP version format option. (#6362)
  • c11c8bb Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
  • e3faf81 Fix #6114 Deploy symlink webapps (#6317)
  • de37267 Issue #6327 Fix cookie leak test (#6344)
  • 9cc7517 Issue #6330 - Improve javadoc for CustomRequestLog %H
  • f50c4fd Issue #6327 Remove an invalid RequestTest
  • eee4a1a Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
  • 21aba4a Fixes #6323 - HttpClient requests with redirects gets stuck/never calls onCom...
  • Additional commits viewable in compare view

Updates jetty-servlet from 9.4.34.v20201102 to 11.0.4

Release notes

Sourced from jetty-servlet's releases.

11.0.3

Changelog

  • #3764 DeprecationWarning Decorator
  • #5684 Review disabled tests
  • #5798 jetty-runner startup error with jetty-10
  • #5817 Provide more filtering for CustomRequestLog
  • #6049 Default provider [files] section always executed
  • #6084 GzipHandler: NPE in setDeflaterPoolCapacity and setInflaterPoolCapacity
  • #6098 jetty-cdi is missing from jetty-bom
  • #6099 Cipher preference may break SNI if certificates have different key types
  • #6105 HttpConnection.getBytesIn() incorrect for requests with chunked content
  • #6106 WebSocket/CDI integration is broken in Jetty 10
  • #6125 Do not allow override of jakarta.* container classes by webapps per Servlet 5.0 Section 15.2.1
  • #6132 Ambiguous segment in URI in DELETE /a/projects/foo/branches/refs%2Fheads%2Ftest request after upgrade from 10.0.0 to 10.0.2
  • #6153 jetty-maven-plugin does not correctly pass JVM arguments for external deployMode
  • #6159 Jetty with Conscrypt unable to handle any HTTPS requests when connected by IP rather than hostname.
  • #6166 WebSocket MessageInputStream.read() spends a lot of time in ByteBuffer.compact()
  • #6205 OpenIdAuthenticator may use incorrect redirect
  • #6208 HTTP/2 max local stream count exceeded
  • #6224 make jetty-jspc-maven-plugin @threadsafe
  • #6227 Better resolve race between AsyncListener.onTimeout and AsyncContext.dispatch
  • #6238 jetty-keystore Invalid manifest header Bundle-SymbolicName: ""
  • #6250 Lazily allocate HTTP2Stream data queue
  • #6251 Use CyclicTimeout for HTTP2Streams
  • #6254 Total timeout not enforced for queued requests
  • #6263 Review URI encoding in ConcatServlet & WelcomeFilter
  • #6277 Better handle exceptions thrown from session destroy listener
  • #6280 Copy ServletHolder class/instance properly during startWebapp
  • #6287 Class loading broken for WebSocketClient used inside webapp

11.0.2

Changelog

⚠️ Important Security related Changes

Other Changes

  • #4275 - Path Normalization/Traversal - Context Matching
  • #5828 - Allow to create a WebSocketContainer passing HttpClient
  • #5832 - Ctrl-C after jetty:run produces NoClassDefFoundError
  • #5835 - Review Durable Filters, Servlets and Listeners
  • #5977 - Cache-Control header set by a filter is override by the value from DefaultServlet configuration
  • #5994 - QueuedThreadPool "free" threads
  • #5996 - ERROR : No module found to provide logback-impl for logback-access{enabled}
  • #5999 - HttpURI ArrayIndexOutOfBounds

... (truncated)

Commits
  • 5bcdeb5 Updating to version 11.0.4
  • d96588e Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
  • 3a8af44 Fixes #6330 - CustomRequestLog is missing HTTP version format option. (#6362)
  • c11c8bb Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
  • e3faf81 Fix #6114 Deploy symlink webapps (#6317)
  • de37267 Issue #6327 Fix cookie leak test (#6344)
  • 9cc7517 Issue #6330 - Improve javadoc for CustomRequestLog %H
  • f50c4fd Issue #6327 Remove an invalid RequestTest
  • eee4a1a Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
  • 21aba4a Fixes #6323 - HttpClient requests with redirects gets stuck/never calls onCom...
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Bumps `jetty.version` from 9.4.34.v20201102 to 11.0.4.

Updates `jetty-server` from 9.4.34.v20201102 to 11.0.4
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](jetty/jetty.project@jetty-9.4.34.v20201102...jetty-11.0.4)

Updates `jetty-servlet` from 9.4.34.v20201102 to 11.0.4
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](jetty/jetty.project@jetty-9.4.34.v20201102...jetty-11.0.4)

Signed-off-by: dependabot-preview[bot] <[email protected]>
@dependabot-preview dependabot-preview bot added dependencies Pull requests that update a dependency file security Pull requests that address a security vulnerability labels Jun 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file security Pull requests that address a security vulnerability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants