CVE-2024-43800
ADVISORY - githubSummary
Impact
passing untrusted user input - even after sanitizing it - to redirect()
may execute untrusted code
Patches
this issue is patched in serve-static 1.16.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:
- The attacker MUST control the input to response.redirect()
- express MUST NOT redirect before the template appears
- the browser MUST NOT complete redirection before:
- the user MUST click on the link in the template
Common Weakness Enumeration (CWE)
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
GitHub
1.6
CVSS SCORE
2.3lowPackage | Type | OS Name | OS Version | Affected Ranges | Fix Versions |
---|---|---|---|---|---|
serve-static | npm | - | - | <1.16.0 | 1.16.0 |
serve-static | npm | - | - | >=2.0.0,<2.1.0 | 2.1.0 |
CVSS:4 Severity and metrics
The CVSS metrics represent different qualitative aspects of a vulnerability that impact the overall score, as defined by the CVSS Specification.
Attack Vector (AV)
Network
Attack Vector (AV)
Network
The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology. This can mean an attack must be launched from the same shared physical (e.g., Bluetooth or IEEE 802.11) or logical (e.g., local IP subnet) network, or from within a secure or otherwise limited administrative domain (e.g., MPLS, secure VPN to an administrative network zone). One example of an Adjacent attack would be an ARP (IPv4) or neighbor discovery (IPv6) flood leading to a denial of service on the local LAN segment (e.g., CVE-2013-6014).
Attack Complexity (AC)
Low
Attack Complexity (AC)
Low
Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.
Attack Requirements (AT)
Present
Attack Requirements (AT)
Present
The successful attack depends on the presence of specific deployment and execution conditions of the vulnerable system that enable the attack. These include: A race condition must be won to successfully exploit the vulnerability. The successfulness of the attack is conditioned on execution conditions that are not under full control of the attacker. The attack may need to be launched multiple times against a single target before being successful. Network injection. The attacker must inject themselves into the logical network path between the target and the resource requested by the victim (e.g. vulnerabilities requiring an on-path attacker).
Privileges Required (PR)
None
Privileges Required (PR)
None
The attacker is unauthenticated prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.
User Interaction (UI)
Passive
User Interaction (UI)
Passive
Successful exploitation of this vulnerability requires limited interaction by the targeted user with the vulnerable system and the attacker's payload. These interactions would be considered involuntary and do not require that the user actively subvert protections built into the vulnerable system. Examples include: utilizing a website that has been modified to display malicious content when the page is rendered (most stored XSS or CSRF) running an application that calls a malicious binary that has been planted on the system using an application which generates traffic over an untrusted or compromised network (vulnerabilities requiring an on-path attacker).
Confidentiality Impact to the Vulnerable System (VC)
None
Confidentiality Impact to the Vulnerable System (VC)
None
There is no loss of confidentiality within the Vulnerable System.
Confidentiality Impact to the Subsequent System (SC)
Low
Confidentiality Impact to the Subsequent System (SC)
Low
There is some loss of confidentiality. Access to some restricted information is obtained, but the attacker does not have control over what information is obtained, or the amount or kind of loss is limited. The information disclosure does not cause a direct, serious loss to the Subsequent System.
Integrity Impact to the Vulnerable System (VI)
None
Integrity Impact to the Vulnerable System (VI)
None
There is no loss of integrity within the Vulnerable System.
Integrity Impact to the Subsequent System (SI)
Low
Integrity Impact to the Subsequent System (SI)
Low
Modification of data is possible, but the attacker does not have control over the consequence of a modification, or the amount of modification is limited. The data modification does not have a direct, serious impact to the Subsequent System.
Vulnerable System Availability Impact (VA)
None
Vulnerable System Availability Impact (VA)
None
There is no impact to availability within the Vulnerable System.
Subsequent System Availability Impact (SA)
Low
Subsequent System Availability Impact (SA)
Low
Performance is reduced or there are interruptions in resource availability. Even if repeated exploitation of the vulnerability is possible, the attacker does not have the ability to completely deny service to legitimate users. The resources in the Subsequent System are either partially available all of the time, or fully available only some of the time, but overall there is no direct, serious consequence to the Subsequent System.
NIST
1.6
CVSS SCORE
5mediumDebian
-
Ubuntu
1.6
CVSS SCORE
4.7mediumRed Hat
1.6
CVSS SCORE
5mediumChainguard
CGA-5grf-qqgg-78vf
-
Chainguard
CGA-6mjq-8vxm-wf5h
-
Chainguard
CGA-wq6m-hw6r-4r4g
-
Chainguard
CGA-x5fj-mf5j-g2mx
-