CVE-2026-15603: morgan vulnerable to Log Forging via unescaped Unicode line separators

Published Aug 28, 2026
·
Updated

morgan is an HTTP request logger middleware for Node.js. In versions prior to 1.12.0, the internal helper that escapes log token values did not neutralize the Unicode line separator characters U+0085 (Next Line), U+2028 (Line Separator), and U+2029 (Paragraph Separator). An unauthenticated remote client can place these characters in an attacker-controlled log token, for example a Basic auth username surfaced through the remote-user token, so that Unicode-aware downstream log processing splits a single request log into multiple logical records. This is a log forging issue (CWE-117) and an incomplete-fix follow-up to CVE-2026-5078, which only addressed ASCII control characters. The issue is fixed in morgan 1.12.0, which extends the escaping set to cover these Unicode line separators. Upgrade to morgan 1.12.0 to remediate.

Affected Software

1 affected component
npm/morgan<1.12.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade morgan to a version that resolves this vulnerability.

    Fixed in 1.12.0

Event History

Aug 28, 2026
CVE Published
via MITRE·01:41 PM
Data Sourced
via MITRE·01:41 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Applications using morgan versions earlier than 1.12.0 are affected if attacker-controlled values can be included in logged tokens. An unauthenticated remote client can trigger the issue, for example by supplying a Basic authentication username that is logged through the remote-user token.

2

What does successful exploitation require?

The attacker needs to inject U+0085, U+2028, or U+2029 into an attacker-controlled value that morgan writes to a log token. The downstream log processor must treat these Unicode characters as line separators for the injected content to be split into separate logical records.

3

How can this be remediated?

Upgrade morgan to version 1.12.0. This version escapes U+0085, U+2028, and U+2029 in addition to the ASCII control characters addressed by the earlier fix.

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