~ / search / GHSA-jxfw-x594-9x9m

GHSA-jxfw-x594-9x9m

morgan vulnerable to Log Forging via unescaped Unicode line separators

Source: GitHub Advisory Database (reviewed) Moderate CVE-2026-15603

Packages

EcosystemPackageAffectedFixed in
npm morgan < 1.12.0 1.12.0

Details

As written in the advisory (Markdown source, shown as plain text).

### 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.

References

External links from the advisory. They lead to third-party sites.