CVE-2021-28164 — jetty-webapp
MEDIUMCVE-2021-28164 is a medium-severity (CVSS 5.3) Information Exposure vulnerability in org.eclipse.jetty:jetty-webapp. 3 public exploit or proof-of-concept references are indexed, so weaponization risk is real. A fix is available for org.eclipse.jetty:jetty-webapp — see the affected versions and patch details below.
Authorization Before Parsing and Canonicalization in jetty
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
org.eclipse.jetty:jetty-webappReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
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.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.eclipse.jetty:jetty-webapp | ≥ 9.4.37&&< 9.4.39 | 9.4.39org.eclipse.jetty:jetty-webapp:9.4.39 |
Affected Products
jettyeclipsecloud managernetappe-series performance analyzernetappe-series santricity os controllernetappe-series santricity web servicesnetappelement plug-in for vcenter servernetappResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Jetty 9.4.37.v20210219 - Information Disclosure
by Mayank Deshmukh · Oct 22, 2021
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.eclipse.jetty:jetty-webapp, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.eclipse.jetty:jetty-webapp to 9.4.39 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2021-28164 is resolved across your whole dependency graph.
Workarounds
Assume what was exposed is already known: rotate any credential, token or key that the affected component could return, restrict the endpoint to callers that genuinely need it, and strip sensitive fields from responses and error output at the boundary rather than relying on the client not to read them.
How to detect CVE-2021-28164
A community-maintained Nuclei template exists for this CVE. You can scan for it directly:
nuclei -id cve-2021-28164 -u https://target- Template
- Eclipse Jetty - Information Disclosure
- Severity
- medium
- Impact
- An attacker can exploit this vulnerability to access sensitive information, potentially leading to further attacks or unauthorized access.
- Remediation
- Apply the latest security patches or updates provided by the Eclipse Jetty project to fix the information disclosure vulnerability.
Template by ProjectDiscovery nuclei-templates (noamrathaus), MIT licensed. View the full template. Scan only systems you are authorised to test.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
Red Hat OpenStack Platform's OpenDaylight will not be updated for this flaw because it was deprecated as of OpenStack Platform 14 and is only receiving security fixes for Important and Critical flaws. Red Hat CodeReady Studio 12 is not affected by this vulnerability because it does not ship a vulnerable version of…
| Product | Fixed in | Advisory |
|---|---|---|
| Red Hat AMQ 7.8.2 | jetty-server | RHSA-2021:2689 |
| Red Hat AMQ 7.9.0 | see advisory | RHSA-2021:3700 |
| Red Hat AMQ Streams 1.6.4 | see advisory | RHSA-2021:1560 |
| Red Hat AMQ Streams 1.8.0 | jetty-server | RHSA-2021:3225 |
| Red Hat Developer Tools | rh-eclipse-jetty-0:9.4.40-1.1.el7_9 | RHSA-2021:1509 |
| Red Hat Fuse 7.10 | jetty | RHSA-2021:5134 |
| Red Hat Integration Camel Quarkus 2 | see advisory | RHSA-2021:4767 |
| RHAF Camel-K 1.8 | jetty | RHSA-2022:6407 |
Frequently Asked Questions
Is CVE-2021-28164 in your dependencies?
Find it across Maven, including transitive dependencies.