CVE-2024-29041
Public on
Last Modified:
Description
A flaw was found in the Express.js minimalist web framework for node. Upstream versions of Express.js before 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 Content from github.com is not included.using encodeurl on the contents before passing it to the location header. This issue 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 upstream version 4.19.2 and 5.0.0-beta.3.
Statement
Red Hat Fuse 7 only uses express as part of build time development dependency, it is not part of the final product delivery.
Upstream versions should not be relied upon for ultimate determination of affectedness. Red Hat might backport fixes from upstream versions on a case by case basis.
Mitigation
Red Hat has investigated whether a possible mitigation exists for this issue, and has not been able to identify a practical example. Please update the affected package as soon as possible.
Additional Information
- This content is not included.Bugzilla 2290901: express: cause malformed URLs to be evaluated
- Content from cwe.mitre.org is not included.CWE-601: URL Redirection to Untrusted Site ('Open Redirect')
- FAQ: Frequently asked questions about CVE-2024-29041
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.
External References
Content from www.cve.org is not included.https://www.cve.org/CVERecord?id=CVE-2024-29041
Content from nvd.nist.gov is not included.https://nvd.nist.gov/vuln/detail/CVE-2024-29041
Content from expressjs.com is not included.https://expressjs.com/en/4x/api.html#res.location
Content from github.com is not included.https://github.com/expressjs/express/pull/5539
Content from github.com is not included.https://github.com/koajs/koa/issues/1800
Affected Packages and Issued Red Hat Security Errata
| Products / Services | Components | State | Errata |
|---|---|---|---|
| A-MQ Interconnect 1 | qpid-dispatch | Affected | |
| Cryostat 2 | express | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/kibana6-rhel8 | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/logging-view-plugin-rhel8 | Will not fix | |
| Migration Toolkit for Applications 6 | express | Will not fix | |
| Migration Toolkit for Applications 6 | mta/mta-ui-rhel8 | Will not fix | |
| Migration Toolkit for Applications 7 | mta/mta-ui-rhel9 | Affected | |
| Migration Toolkit for Applications 7 | mta/mta-cli-rhel9 | Will not fix | |
| Migration Toolkit for Runtimes | express | Affected | |
| Migration Toolkit for Virtualization | migration-toolkit-virtualization/mtv-console-plugin-rhel9 | Not affected | |
| Multicluster Engine for Kubernetes | multicluster-engine/console-mce-rhel8 | Not affected | |
| Multicluster Engine for Kubernetes | multicluster-engine/multicluster-engine-console-mce-rhel8 | Not affected | |
| NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | network-observability/network-observability-cli-rhel9 | Fixed | RHSA-2024:3868 |
| NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | network-observability/network-observability-console-plugin-rhel9 | Fixed | RHSA-2024:3868 |
| NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | network-observability/network-observability-ebpf-agent-rhel9 | Fixed | RHSA-2024:3868 |
| NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | network-observability/network-observability-flowlogs-pipeline-rhel9 | Fixed | RHSA-2024:3868 |
| NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | network-observability/network-observability-operator-bundle | Fixed | RHSA-2024:3868 |
| NETWORK-OBSERVABILITY-1.6.0-RHEL-9 | network-observability/network-observability-rhel9-operator | Fixed | RHSA-2024:3868 |
| Node HealthCheck Operator | workload-availability/node-remediation-console-rhel8 | Will not fix | |
| OpenShift Serverless | express | Not affected | |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-chains-controller-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-cli-tkn-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-console-plugin-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-controller-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-entrypoint-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-events-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-git-init-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-hub-api-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-hub-db-migration-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-hub-ui-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-manual-approval-gate-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-nop-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-operator-bundle | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-operator-proxy-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-operator-webhook-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-pipelines-as-code-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-resolvers-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-results-api-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-results-retention-policy-agent-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-results-watcher-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-rhel8-operator | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-serve-tkn-cli-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-triggers-controller-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-triggers-core-interceptors-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-triggers-eventlistenersink-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-triggers-webhook-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-webhook-rhel8 | Fixed | RHEA-2024:7870 |
| OpenShift-Pipelines-1.16-RHEL-8 | openshift-pipelines/pipelines-workingdirinit-rhel8 | Fixed | RHEA-2024:7870 |
| RHODF-4.14-RHEL-9 | odf4/mcg-core-rhel9 | Fixed | RHSA-2024:7624 |
| RHODF-4.14-RHEL-9 | odf4/ocs-client-console-rhel9 | Fixed | RHSA-2025:8551 |
| RHODF-4.14-RHEL-9 | odf4/odf-console-rhel9 | Fixed | RHSA-2025:8551 |
| RHODF-4.14-RHEL-9 | odf4/odf-multicluster-console-rhel9 | Fixed | RHSA-2025:8551 |
| RHODF-4.15-RHEL-9 | odf4/ocs-client-console-rhel9 | Fixed | RHSA-2025:8544 |
| RHODF-4.15-RHEL-9 | odf4/odf-console-rhel9 | Fixed | RHSA-2025:8544 |
| RHODF-4.15-RHEL-9 | odf4/odf-multicluster-console-rhel9 | Fixed | RHSA-2025:8544 |
| RHODF-4.16-RHEL-9 | odf4/ocs-client-console-rhel9 | Fixed | RHSA-2025:8479 |
| RHODF-4.16-RHEL-9 | odf4/odf-console-rhel9 | Fixed | RHSA-2025:8479 |
| RHODF-4.16-RHEL-9 | odf4/odf-multicluster-console-rhel9 | Fixed | RHSA-2025:8479 |
| RHODF-4.17-RHEL-9 | odf4/ocs-client-console-rhel9 | Fixed | RHSA-2025:8059 |
| RHODF-4.17-RHEL-9 | odf4/odf-console-rhel9 | Fixed | RHSA-2025:8059 |
| RHODF-4.17-RHEL-9 | odf4/odf-multicluster-console-rhel9 | Fixed | RHSA-2025:8059 |
| RHODF-4.18-RHEL-9 | odf4/ocs-client-console-rhel9 | Fixed | RHSA-2025:4511 |
| RHODF-4.18-RHEL-9 | odf4/odf-console-rhel9 | Fixed | RHSA-2025:4511 |
| RHODF-4.18-RHEL-9 | odf4/odf-multicluster-console-rhel9 | Fixed | RHSA-2025:4511 |
| Red Hat 3scale API Management Platform 2 | 3scale-amp-system-container | Affected | |
| Red Hat Advanced Cluster Management for Kubernetes 2 | rhacm2/console-rhel8 | Not affected | |
| Red Hat Advanced Cluster Security 3 | advanced-cluster-security/rhacs-central-db-rhel8 | Will not fix | |
| Red Hat Advanced Cluster Security 3 | advanced-cluster-security/rhacs-main-rhel8 | Will not fix | |
| Red Hat Advanced Cluster Security 3 | advanced-cluster-security/rhacs-rhel8-operator | Will not fix | |
| Red Hat Advanced Cluster Security 3 | advanced-cluster-security/rhacs-roxctl-rhel8 | Will not fix | |
| Red Hat Advanced Cluster Security 4 | advanced-cluster-security/rhacs-main-rhel8 | Affected | |
| Red Hat Advanced Cluster Security 4 | advanced-cluster-security/rhacs-scanner-v4-db-rhel8 | Not affected | |
| Red Hat Advanced Cluster Security 4 | advanced-cluster-security/rhacs-central-db-rhel8 | Will not fix | |
| Red Hat Advanced Cluster Security 4 | advanced-cluster-security/rhacs-rhel8-operator | Will not fix | |
| Red Hat Advanced Cluster Security 4 | advanced-cluster-security/rhacs-roxctl-rhel8 | Will not fix | |
| Red Hat Advanced Cluster Security 4 | advanced-cluster-security/rhacs-scanner-v4-rhel8 | Will not fix | |
| Red Hat Ansible Automation Platform 2 | aap-cloud-ui-container | Not affected | |
| Red Hat Ansible Automation Platform 2 | ansible-automation-platform-25/lightspeed-rhel8 | Not affected | |
| Red Hat Ansible Automation Platform 2 | automation-controller | Not affected | |
| Red Hat Ansible Automation Platform 2 | automation-eda-controller | Not affected | |
| Red Hat Data Grid 8 | express | Not affected | |
| Red Hat Developer Hub | rhdh-operator-container | Not affected | |
| Red Hat Developer Hub | rhdh/rhdh-hub-rhel9 | Will not fix | |
| Red Hat Discovery 1 | discovery-server-container | Will not fix | |
| Red Hat Enterprise Linux 10 | cldr-emoji-annotation | Not affected | |
| Red Hat Enterprise Linux 10 | pcs | Not affected | |
| Red Hat Enterprise Linux 6 | firefox | Affected | |
| Red Hat Enterprise Linux 6 | thunderbird | Affected | |
| Red Hat Enterprise Linux 7 | firefox | Will not fix | |
| Red Hat Enterprise Linux 7 | thunderbird | Will not fix | |
| Red Hat Enterprise Linux 8 | cldr-emoji-annotation | Affected | |
| Red Hat Enterprise Linux 8 | mozjs60 | Not affected | |
| Red Hat Enterprise Linux 8 | pcs | Not affected | |
| Red Hat Enterprise Linux 9 | cldr-emoji-annotation | Not affected | |
| Red Hat Enterprise Linux 9 | gjs | Not affected | |
| Red Hat Enterprise Linux 9 | pcs | Not affected | |
| Red Hat Enterprise Linux 9 | polkit | Not affected | |
| Red Hat Fuse 7 | express | Not affected | |
| Red Hat Integration Camel K 1 | express | Not affected | |
| Red Hat JBoss Data Grid 7 | express | Not affected | |
| Red Hat JBoss Enterprise Application Platform 7 | io.hawt-project | Not affected | |
| Red Hat JBoss Enterprise Application Platform Expansion Pack | io.hawt-project | Not affected | |
| Red Hat Migration Toolkit for Containers 1.8 | rhmtc/openshift-migration-ui-rhel8 | Fixed | RHSA-2024:7164 |
| Red Hat OpenShift AI (RHOAI) | odh-dashboard-container | Will not fix | |
| Red Hat OpenShift AI (RHOAI) | odh-operator-container | Will not fix | |
| Red Hat OpenShift Container Platform 3.11 | openshift3/ose-console | Will not fix | |
| Red Hat OpenShift Container Platform 4 | openshift4/nmstate-console-plugin-rhel9 | Will not fix | |
| Red Hat OpenShift Container Platform 4 | openshift4/ose-console | Will not fix | |
| Red Hat OpenShift Container Platform 4 | openshift4/ose-monitoring-plugin-rhel9 | Will not fix | |
| Red Hat OpenShift Container Platform 4 | openshift4/ose-networking-console-plugin-rhel9 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-dashboard-rhel8 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-operator-rhel8 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-rhel8-operator | Will not fix | |
| Red Hat OpenShift Dev Spaces | devspaces/traefik-rhel8 | Not affected | |
| Red Hat OpenShift GitOps | openshift-gitops-1/argocd-rhel8 | Affected | |
| Red Hat OpenShift GitOps | openshift-gitops-1/argocd-rhel9 | Affected | |
| Red Hat OpenShift GitOps | openshift-gitops-1/console-plugin-rhel8 | Affected | |
| Red Hat OpenShift GitOps | openshift-gitops-1/argo-rollouts-rhel8 | Will not fix | |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/grafana-rhel8 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/istio-cni-rhel8 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/istio-must-gather-rhel8 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/istio-rhel8-operator | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/kiali-ossmc-rhel8 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/kiali-rhel8 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/kiali-rhel8-operator | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/pilot-rhel8 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 8 | openshift-service-mesh/ratelimit-rhel8 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Service Mesh 2.6 for RHEL 9 | openshift-service-mesh/proxyv2-rhel9 | Fixed | RHSA-2024:6211 |
| Red Hat OpenShift Virtualization 4 | container-native-virtualization/kubevirt-console-plugin-rhel9 | Affected | |
| Red Hat OpenShift Virtualization 4 | container-native-virtualization/kubevirt-console-plugin | Will not fix | |
| Red Hat OpenShift distributed tracing 2 | rhosdt/jaeger-agent-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 2 | rhosdt/jaeger-collector-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 2 | rhosdt/jaeger-es-index-cleaner-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 2 | rhosdt/jaeger-es-rollover-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 2 | rhosdt/jaeger-ingester-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 2 | rhosdt/jaeger-all-in-one-rhel8 | Will not fix | |
| Red Hat OpenShift distributed tracing 2 | rhosdt/jaeger-query-rhel8 | Will not fix | |
| Red Hat OpenShift distributed tracing 3 | rhosdt/jaeger-agent-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 3 | rhosdt/jaeger-collector-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 3 | rhosdt/jaeger-es-index-cleaner-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 3 | rhosdt/jaeger-es-rollover-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 3 | rhosdt/jaeger-ingester-rhel8 | Not affected | |
| Red Hat OpenShift distributed tracing 3 | rhosdt/jaeger-all-in-one-rhel8 | Will not fix | |
| Red Hat OpenShift distributed tracing 3 | rhosdt/jaeger-query-rhel8 | Will not fix | |
| Red Hat OpenStack Platform 17.1 | qpid-dispatch | Not affected | |
| Red Hat Openshift Container Storage 4 | ocs4/mcg-core-rhel8 | Affected | |
| Red Hat Process Automation 7 | express | Not affected | |
| Red Hat Quay 3 | quay/quay-rhel8 | Will not fix | |
| Red Hat Satellite 6 | qpid-dispatch | Affected | |
| Red Hat Satellite 6 | satellite-capsule:el8/qpid-dispatch | Affected | |
| Red Hat Satellite 6 | satellite:el8/qpid-dispatch | Not affected | |
| Red Hat build of Apache Camel - HawtIO 4 | express | Not affected | |
| Red Hat build of Apicurio Registry 2.6.1 GA | express | Fixed | RHSA-2024:4873 |
| Red Hat build of OptaPlanner 8 | express | Not affected |
Common Vulnerability Scoring System (CVSS) Score Details
Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authorities (CNA) source for its products and services (see Red Hat classifications ).
| CVSS v3 Score Breakdown | Red Hat | NVD |
|---|---|---|
| CVSS v3 Base Score | 6.1 | |
| Attack Vector | Network | |
| Attack Complexity | Low | |
| Privileges Required | None | |
| User Interaction | Required | |
| Scope | Changed | |
| Confidentiality Impact | Low | |
| Integrity Impact | Low | |
| Availability Impact | None |
CVSS v3 Vector
Red Hat CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Frequently Asked Questions
Why is Red Hat's CVSS v3 score or Impact different from other vendors?
For more information, see https://access.redhat.com/solutions/762393.
My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?
- "Under investigation" doesn't necessarily mean that the product is affected by this vulnerability. It only means that our Analysis Team is still working on determining whether the product is affected and how it is affected.
- "Affected" means that our Analysis Team has determined that this product is affected by this vulnerability and might release a fix to address this in the near future.
What can I do if my product is listed as "Will not fix"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Upgrade to a supported product version that includes a fix for this vulnerability (recommended).
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
What can I do if my product is listed as "Fix deferred"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
- Red Hat Engineering focuses on addressing high-priority issues based on their complexity or limited lifecycle support. Therefore, lower-priority issues will not receive immediate fixes.
What is a mitigation?
I have a Red Hat product but it is not in the above list, is it affected?
Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?
Not sure what something means? Check out our Security Glossary.