No Charset in Content-Type Header in expressGHSA-gpvr-g6gh-9mc2
MEDIUMGHSA-gpvr-g6gh-9mc2 is a medium-severity (CVSS 6.1) Cross-site Scripting (XSS) vulnerability in express. A fix is available for express — see the affected versions and patch details below.
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
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
expressnpmDescription
Vulnerable versions of express do not specify a charset field in the content-type header while displaying 400 level response messages. The lack of enforcing user's browser to set correct charset, could be leveraged by an attacker to perform a cross-site scripting attack, using non-standard encodings, like UTF-7.
Recommendation
For express 3.x, update express to version 3.11 or later. For express 4.x, update express to version 4.5 or later.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | express | all versions | 3.11.0npm install express@3.11.0 |
| 📦npm | express | ≥ 4.0.0&&< 4.5.0 | 4.5.0npm install express@4.5.0 |
Affected Products
expressopenjsfDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for express, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update express to 3.11.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-gpvr-g6gh-9mc2 is resolved across your whole dependency graph.
Workarounds
Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.
Frequently Asked Questions
Is GHSA-gpvr-g6gh-9mc2 in your dependencies?
Find it across npm, including transitive dependencies.