---
id: CVE-2026-87859
title: morgan is an HTTP request logger middleware for Node.js
summary: >-
  morgan is an HTTP request logger middleware for Node.js. In versions before
  1.12.1, its escapeLogField() function does not escape the double quote
  character, which delimits the quoted fields of the Apache combined log format
  that morgan …
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'
cwe:
  - CWE-117
vendor: Red Hat
product: Red Hat Enterprise Linux 10
affected:
  - cryostat 4
  - enterprise_linux 10
  - enterprise_linux 9
  - fuse 7
  - hardened_images
  - openshift_data_foundation 4
published: '2026-09-11'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T19:40:00.317'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-87859'
references:
  - url: 'https://cna.openjsf.org/security-advisories.html'
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: >-
      https://github.com/expressjs/morgan/security/advisories/GHSA-9f6g-j8ch-79g4
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-87859.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-87859'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2531809'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-87859'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-87859'
tags:
  - nvd
  - csaf
  - vex
  - red-hat
  - cve.org
epss: 0.0041
epssPercentile: 0.32535
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-09-11T11:22:20.073554Z'
ingestedAt: '2026-09-11T16:45:47.922Z'
---

## Overview

morgan is an HTTP request logger middleware for Node.js. In versions before 1.12.1, its escapeLogField() function does not escape the double quote character, which delimits the quoted fields of the Apache combined log format that morgan emits. An unauthenticated remote attacker who controls a value written to a quoted field, such as the User-Agent or Referer header, can include a double quote to close that field early, so a log consumer that parses the log by field position reads attacker-supplied text as the following field. In the built-in formats this makes the recorded value differ from the value that was sent, and in custom formats that quote an attacker-controlled token before a server-controlled one it can forge values such as the response status. No newline is injected, so record separation stays intact. The issue is fixed in morgan 1.12.1, which escapes the double quote. Users should upgrade to morgan 1.12.1 or later.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Cryostat 4, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat Fuse 7, Red Hat Hardened Images, Red Hat Openshift Data Foundation 4 · no fix planned: Red Hat Fuse 7, Red Hat Hardened Images, Cryostat 4, Red Hat Enterprise Linux 10, … · updated 2026-09-16 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-87859.json)
