GitHub Advisoryadvisory · Maven

GHSA-v7ff-8wcx-gmc5 Authorization Before Parsing and Canonicalization in jetty

MEDIUM Published 2021-04-06 Modified 2022-04-17 Official page ↗
Aliases
CVE-2021-28164
Ecosystem
Maven
Packages
org.eclipse.jetty:jetty-webapp
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weaknesses
CWE-200, CWE-551, CWE-863
Reviewed
2021-04-02

Affected packages

• Maven org.eclipse.jetty:jetty-webapp: >= 9.4.37, < 9.4.39 → fixed in 9.4.39

Description

Release 9.4.37 introduced a more precise implementation of RFC3986 with regards to URI decoding, together with some new compliance modes to optionally allow support of some URI that may have ambiguous interpretation within the Servlet specified API methods behaviours. The default mode allowed % encoded . characters to be excluded for URI normalisation, which is correct by the RFC, but is not assumed by common Servlet implementations. The default compliance mode allows requests with URIs that contain `%2e` or `%2e%2e` segments to access protected resources within the `WEB-INF` directory. For example a request to `/context/%2e/WEB-INF/web.xml` can retrieve the `web.xml` file. This can reveal sensitive information regarding the implementation of a web application. Workarounds found by HttpCompliance mode RFC7230_NO_AMBIGUOUS_URIS can be enabled by updating `start.d/http.ini` to include: jetty.http.compliance=RFC7230_NO_AMBIGUOUS_URIS.

Related

Alias · CVE (1)

  • CVE-2021-28164 In Eclipse Jetty 9.4.37.v20210219 to 9.4.38.v20210224, the default compliance mode allows requests with URIs that contain %2e or %2e%2e… vulnerability

Weakness · CWE (3)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness
  • CWE-551 Incorrect Behavior Order: Authorization Before Parsing and Canonicalization weakness
  • CWE-863 Incorrect Authorization weakness

References