CVE-2024-43796: express vulnerable to XSS via response.redirect()

Published Sep 10, 2024
·
Updated

Impact

In express <4.20.0, passing untrusted user input - even after sanitizing it - to response.redirect() may execute untrusted code

Patches

this issue is patched in express 4.20.0

Workarounds

users are encouraged to upgrade to the patched version of express, but otherwise can workaround this issue by making sure any untrusted inputs are safe, ideally by validating them against an explicit allowlist

Details

successful exploitation of this vector requires the following:

1. The attacker MUST control the input to response.redirect() 1. express MUST NOT redirect before the template appears 1. the browser MUST NOT complete redirection before: 1. the user MUST click on the link in the template

Other sources

express vulnerable to XSS via response.redirect()

Microsoft

Express.js minimalist web framework for node. In express < 4.20.0, passing untrusted user input - even after sanitizing it - to response.redirect() may execute untrusted code. This issue is patched in express 4.20.0.

NVD

expressjs express is vulnerable to cross-site scripting, caused by improper validation of user-supplied input. A remote attacker could exploit this vulnerability using a specially crafted URL to execute script in a victim's Web browser within the security context of the hosting Web site, once the URL is clicked. An attacker could use this vulnerability to steal the victim's cookie-based authentication credentials.

IBM

Affected Software

18 affected componentsFixes available
npm/express>=5.0.0-alpha.1<5.0.0
5.0.0
npm/express<4.20.0
4.20.0
Openjsf Express Node.js<4.20.0
Openjsf Express Node.js=5.0.0-alpha1
Openjsf Express Node.js=5.0.0-alpha2
Openjsf Express Node.js=5.0.0-alpha3
Openjsf Express Node.js=5.0.0-alpha4
Openjsf Express Node.js=5.0.0-alpha5
Openjsf Express Node.js=5.0.0-alpha6
Openjsf Express Node.js=5.0.0-alpha7
Openjsf Express Node.js=5.0.0-alpha8
Openjsf Express Node.js=5.0.0-beta1
Openjsf Express Node.js=5.0.0-beta2
Openjsf Express Node.js=5.0.0-beta3
Microsoft azl3 python-tensorboard 2.16.2-5
Microsoft cbl2 reaper 3.1.1-12
Microsoft cbl2 reaper 3.1.1-18
Microsoft azl3 python-tensorboard 2.16.2-6

Event History

Sep 10, 2024
CVE Published
via MITRE·02:36 PM
Data Sourced
via MITRE·02:36 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·03:15 PM
DescriptionSeverityWeakness
Data Sourced
via Red Hat·03:30 PM
DescriptionSeverityAffected Software
Advisory Published
via GitHub·07:41 PM
Oct 12, 2024
Data Sourced
via Microsoft·07:00 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·07:00 AM
Affected Software
Updated
via Microsoft·07:00 AM
DescriptionSeverity
Feb 4, 2025
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-43796?

The severity of CVE-2024-43796 is considered high due to its potential to allow remote code execution through untrusted user input.

2

How do I fix CVE-2024-43796?

To fix CVE-2024-43796, upgrade to express version 4.20.0 or later.

3

Which versions of express are affected by CVE-2024-43796?

CVE-2024-43796 affects all versions of express up to and including 4.20.0.

4

Is there a workaround for CVE-2024-43796 if I can't upgrade?

There are no recommended workarounds for CVE-2024-43796 other than upgrading to the patched version of express.

5

What impact does CVE-2024-43796 have on my application?

CVE-2024-43796 could allow an attacker to execute arbitrary code in your application by leveraging improperly sanitized user input during redirects.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203