morgan vulnerable to Log Forging via unescaped Unicode line separators
Impact
Morgan writes attacker-controlled request data to the access log through its tokens. The 1.11.0 fix neutralizes C0 control characters, DEL, and backslash, but it does not escape the Unicode line separators U+0085 (NEL), U+2028 (LINE SEPARATOR), or U+2029 (PARAGRAPH SEPARATOR). These code points are reachable through several tokens, including the request URL (:url), request headers such as :user-agent and :referrer, arbitrary :req[header] values, and the Basic auth username (:remote-user). NEL is valid obs-text in HTTP header values, so an attacker can place it in an ordinary request header.
When such a value is logged, the raw code points survive into the emitted access-log record, and downstream ECMAScript-aware or Unicode-aware log processing splits the single physical record into multiple logical records. This allows an attacker to forge log entries. The built-in combined, common, default, and short formats are affected, as well as any custom format. This is an incomplete fix of CVE-2026-5078.
Patches
Users should upgrade to version 1.12.0.
Workarounds
None. The affected values include the request URL and request headers, which are core to access logging, so there is no practical format-based mitigation. Upgrade to 1.12.0.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | morgan | < 1.12.0 | 1.12.0 |
References
- https://github.com/expressjs/morgan/security/advisories/GHSA-jxfw-x594-9x9m
- https://nvd.nist.gov/vuln/detail/CVE-2026-15603
- https://github.com/expressjs/morgan/commit/fbf93833186920cc39bb19b247e4a86b61bef4fe
- https://cna.openjsf.org/security-advisories.html
- https://github.com/expressjs/morgan
- https://github.com/expressjs/morgan/releases/tag/1.12.0
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N- Weakness (CWE)
CWE-117- Platform
- npm
- Package
morgan- Disclosed
- 08.09.2026
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-jxfw-x594-9x9m - CC BY 4.0
Vulnerability history: morgan
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 4
- First → latest
- 03.2019 09.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 1
- Medium 3
Disclosures per year
- 2019: 1
- 2020: 0
- 2021: 0
- 2022: 0
- 2023: 0
- 2024: 0
- 2025: 0
- 2026: 3
-
morgan vulnerable to Log Forging via unescaped Unicode line separators this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.