Skip to content

Authorization Before Parsing and Canonicalization in jetty

Moderate severity GitHub Reviewed Published Apr 1, 2021 in jetty/jetty.project • Updated Feb 1, 2023

Package

maven org.eclipse.jetty:jetty-webapp (Maven)

Affected versions

>= 9.4.37, < 9.4.39

Patched versions

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.

References

@waynebeaton waynebeaton published to jetty/jetty.project Apr 1, 2021
Published by the National Vulnerability Database Apr 1, 2021
Reviewed Apr 2, 2021
Published to the GitHub Advisory Database Apr 6, 2021
Last updated Feb 1, 2023

Severity

Moderate
5.3
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

CVE ID

CVE-2021-28164

GHSA ID

GHSA-v7ff-8wcx-gmc5

Source code

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.