Skip to content
Heist/ feed
Back to feed
High

Laminas Diactoros vulnerable to HTTP Multiline Header Termination

Type: advisorySources: OSV

Laminas Diactoros provides PSR HTTP Message implementations. In versions 2.18.0 and prior, 2.19.0, 2.20.0, 2.21.0, 2.22.0, 2.23.0, 2.24.0, and 2.25.0, users who create HTTP requests or responses using laminas/laminas-diactoros, when providing a newline at the start or end of a header key or value, can cause an invalid message. This can lead to denial of service vectors or application errors. The problem has been patched in following versions 2.18.1, 2.19.1, 2.20.1, 2.21.1, 2.22.1, 2.23.1, 2.24.1, and 2.25.1. As a workaround, validate HTTP header keys and/or values, and if using user-supplied values, filter them to strip off leading or trailing newline characters before calling `withHeader()`.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2023-29530
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 00:23 UTC · Revision 1

Source evidence

Laminas Diactoros vulnerable to HTTP Multiline Header Termination

core-osv · Original source

Published 24 Apr 2023, 19:34 UTC

Laminas Diactoros provides PSR HTTP Message implementations. In versions 2.18.0 and prior, 2.19.0, 2.20.0, 2.21.0, 2.22.0, 2.23.0, 2.24.0, and 2.25.0, users who create HTTP requests or responses using laminas/laminas-diactoros, when providing a newline at the start or end of a header key or value, can cause an invalid message. This can lead to denial of service vectors or application errors. The problem has been patched in following versions 2.18.1, 2.19.1, 2.20.1, 2.21.1, 2.22.1, 2.23.1, 2.24.1, and 2.25.1. As a workaround, validate HTTP header keys and/or values, and if using user-supplied values, filter them to strip off leading or trailing newline characters before calling `withHeader()`.

osv:CVE-2023-29530
Complete source record
{
  "id": "1b8ec237a6be2f0c7a2ba43f5c35fb45f205058b793cf13ab640581e6aeecb9f",
  "url": "https://osv.dev/vulnerability/CVE-2023-29530",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Laminas Diactoros vulnerable to HTTP Multiline Header Termination",
    "summary": "Laminas Diactoros provides PSR HTTP Message implementations. In versions 2.18.0 and prior, 2.19.0, 2.20.0, 2.21.0, 2.22.0, 2.23.0, 2.24.0, and 2.25.0, users who create HTTP requests or responses using laminas/laminas-diactoros, when providing a newline at the start or end of a header key or value, can cause an invalid message. This can lead to denial of service vectors or application errors. The problem has been patched in following versions 2.18.1, 2.19.1, 2.20.1, 2.21.1, 2.22.1, 2.23.1, 2.24.1, and 2.25.1. As a workaround, validate HTTP header keys and/or values, and if using user-supplied values, filter them to strip off leading or trailing newline characters before calling `withHeader()`.",
    "evidence": "osv:CVE-2023-29530",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2023-29530",
      "aliases": [
        "CVE-2023-29530",
        "GHSA-xv3h-4844-9h36"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/guzzle/psr7",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "e4490cabc77465aaee90b20cfc9a770f8c04be6b"
                },
                {
                  "introduced": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7"
                },
                {
                  "fixed": "0454e12ef0cd597ccd2adb036f7bda4e7fface66"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:guzzlephp:psr-7:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.9.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:guzzlephp:psr-7:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "fixed": "2.4.5"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            },
            {
              "repo": "https://github.com/laminas/laminas-diactoros",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "31d4ac32fb4fba90f95bf5f7fa727ae1ab4098a4"
                },
                {
                  "introduced": "b3c7e9262b4fbec801d8df2370cdebb4f5d3a0ae"
                },
                {
                  "last_affected": "0e9dd2516460be1a9c26ccdf9091ef293a1c3c6f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.18.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.19.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.19.0"
                      },
                      {
                        "last_affected": "2.19.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.20.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.20.0"
                      },
                      {
                        "last_affected": "2.20.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.21.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.21.0"
                      },
                      {
                        "last_affected": "2.21.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.22.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.22.0"
                      },
                      {
                        "last_affected": "2.22.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.23.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.23.0"
                      },
                      {
                        "last_affected": "2.23.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.24.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.24.0"
                      },
                      {
                        "last_affected": "2.24.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.25.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.25.0"
                      },
                      {
                        "last_affected": "2.25.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.19.0",
            "2.20.0",
            "2.21.0",
            "2.22.0",
            "2.23.0",
            "2.24.0",
            "2.25.0",
            "= 2.19.0",
            "= 2.20.0",
            "= 2.21.0",
            "= 2.22.0",
            "= 2.23.0",
            "= 2.24.0",
            "= 2.25.0",
            "2.4.4",
            "1.9.0",
            "2.4.3",
            "2.4.2",
            "2.4.1",
            "2.4.0",
            "1.8.5",
            "2.3.0",
            "2.2.2",
            "2.2.1",
            "2.2.0",
            "1.8.4",
            "2.1.0",
            "1.8.3",
            "2.0.0",
            "1.8.2",
            "1.8.1",
            "1.8.0",
            "1.7.0",
            "1.6.1",
            "1.6.0",
            "1.5.0",
            "1.5.2",
            "1.5.1",
            "1.4.2",
            "1.4.1",
            "1.4.0",
            "1.3.1",
            "1.3.0",
            "1.2.3",
            "1.2.2",
            "1.2.1",
            "1.2.0",
            "1.1.0",
            "1.0.0",
            "2.18.0",
            "2.17.0",
            "2.16.0",
            "2.15.0",
            "2.14.0",
            "2.13.0",
            "2.12.0",
            "2.11.0",
            "2.10.0",
            "2.9.0",
            "2.8.0",
            "2.7.0",
            "2.6.0",
            "2.5.0",
            "2.2.3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-29530.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:52.115515663Z",
      "provider": "osv",
      "references": [
        "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BPW54QK7ISDALPLP2CKODU4ZIVRYS336/",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/29xxx/CVE-2023-29530.json",
        "https://github.com/advisories/GHSA-wxmh-65f7-jcvw",
        "https://github.com/laminas/laminas-diactoros/security/advisories/GHSA-xv3h-4844-9h36",
        "https://nvd.nist.gov/vuln/detail/CVE-2023-29530"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-20"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/29xxx/CVE-2023-29530.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2023-29530",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 520935,
  "published_at": "2023-04-24T19:34:40.294+00:00"
}