CVE-2020-1757 — undertow-core
HIGHCVE-2020-1757 is a high-severity (CVSS 8.1) Improper Input Validation vulnerability in io.undertow:undertow-core. A fix is available for io.undertow:undertow-core — see the affected versions and patch details below.
Improper Input Validation in Undertow
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
io.undertow:undertow-coreReal-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
A flaw was found in all undertow-2.x.x SP1 versions prior to undertow-2.0.30.SP1, all undertow-1.x.x and undertow-2.x.x versions prior to undertow-2.1.0.Final, where the Servlet container causes servletPath to normalize incorrectly by truncating the path after semicolon which may lead to an application mapping resulting in the security bypass.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | io.undertow:undertow-core | all versions | 2.1.0io.undertow:undertow-core:2.1.0 |
Affected Products
jboss data gridredhatjboss enterprise application platformredhatjboss fuseredhatopenshift application runtimesredhatsingle sign-onredhatundertowredhatDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for io.undertow:undertow-core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update io.undertow:undertow-core to 2.1.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2020-1757 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.
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.
The issue can be mitigated by configuring UrlPathHelper to ignore the servletPath via setting "alwaysUseFullPath".Source: Red Hat security advisory for CVE-2020-1757 (CC BY 4.0)
| Product | Fixed in | Advisory |
|---|---|---|
| Red Hat Data Grid 7.3.7 | undertow | RHSA-2020:3779 |
| Red Hat Fuse 7.7.0 | undertow | RHSA-2020:3192 |
| Red Hat JBoss EAP 7 | undertow-core | RHSA-2020:2515 |
| Red Hat JBoss EAP 7.2 | undertow-core | RHSA-2020:2061 |
| Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7 | eap7-undertow-0:1.4.18-12.SP12_redhat_00001.1.ep7.el7 | RHSA-2024:5856 |
| Red Hat JBoss Enterprise Application Platform 7.2 for RHEL 6 | eap7-activemq-artemis-0:2.9.0-4.redhat_00010.1.el6eap | RHSA-2020:2058 |
| Red Hat JBoss Enterprise Application Platform 7.2 for RHEL 7 | eap7-activemq-artemis-0:2.9.0-4.redhat_00010.1.el7eap | RHSA-2020:2059 |
| Red Hat JBoss Enterprise Application Platform 7.2 for RHEL 8 | eap7-activemq-artemis-0:2.9.0-4.redhat_00010.1.el8eap | RHSA-2020:2060 |
Frequently Asked Questions
Is CVE-2020-1757 in your dependencies?
Find it across Maven, including transitive dependencies.