Express.js minimalist web framework for node. Versions of Express.js prior to 4.19.0 and all pre-release alpha and beta versions of 5.0 are affected by an open redirect vulnerability using malformed URLs. When a user of Express performs a redirect using a user-provided URL Express performs an encode using encodeurl
on the contents before passing it to the location
header. This can cause malformed URLs to be evaluated in unexpected ways by common redirect allow list implementations in Express applications, leading to an Open Redirect via bypass of a properly implemented allow list. The main method impacted is res.location()
but this is also called from within res.redirect()
. The vulnerability is fixed in 4.19.2 and 5.0.0-beta.3.
The product receives input that is expected to be well-formed - i.e., to comply with a certain syntax - but it does not validate or incorrectly validates that the input complies with the syntax.
Name | Vendor | Start Version | End Version |
---|---|---|---|
NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | RedHat | network-observability/network-observability-cli-rhel9:v1.6.0-66 | * |
NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | RedHat | network-observability/network-observability-console-plugin-rhel9:v1.6.0-66 | * |
NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | RedHat | network-observability/network-observability-ebpf-agent-rhel9:v1.6.0-66 | * |
NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | RedHat | network-observability/network-observability-flowlogs-pipeline-rhel9:v1.6.0-66 | * |
NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | RedHat | network-observability/network-observability-operator-bundle:1.6.0-78 | * |
NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | RedHat | network-observability/network-observability-rhel9-operator:v1.6.0-66 | * |
Red Hat build of Apicurio Registry 2.6.1 GA | RedHat | express | * |
Red Hat Migration Toolkit for Containers 1.8 | RedHat | rhmtc/openshift-migration-ui-rhel8:v1.8.4-10 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/grafana-rhel8:2.6.1-6 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/istio-cni-rhel8:2.6.1-7 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/istio-must-gather-rhel8:2.6.1-4 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/istio-rhel8-operator:2.6.1-9 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/kiali-ossmc-rhel8:1.89.0-2 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/kiali-rhel8:1.89.1-3 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/kiali-rhel8-operator:1.89.1-1 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/pilot-rhel8:2.6.1-7 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | RedHat | openshift-service-mesh/ratelimit-rhel8:2.6.1-6 | * |
Red Hat OpenShift Service Mesh 2.6 for RHEL 9 | RedHat | openshift-service-mesh/proxyv2-rhel9:2.6.1-4 | * |
RHODF-4.14-RHEL-9 | RedHat | odf4/mcg-core-rhel9:v4.14.11-1 | * |
Node-express | Ubuntu | mantic | * |
Often, complex inputs are expected to follow a particular syntax, which is either assumed by the input itself, or declared within metadata such as headers. The syntax could be for data exchange formats, markup languages, or even programming languages. When untrusted input is not properly validated for the expected syntax, attackers could cause parsing failures, trigger unexpected errors, or expose latent vulnerabilities that might not be directly exploitable if the input had conformed to the syntax.