← Back to CVE Explorer

CVE-2026-120639

Full vulnerability record from the local CVENow database.

Description

CGI versions before 5.00 for Perl allow HTTP header injection via entity decoding after the newline check in header and unchecked values in multipart_start and do_push. With autoEscape off, header decodes HTML entities in extra header values after its newline check, so an encoded CR or LF reaches the response. multipart_start does not check header values for newlines, and do_push does not check the type it prints in each part. An application that passes request data into these header values can be made to add headers or split the response.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
9b29abf9-4ab0-4765-b253-1875cd9b441e
Published
2026-11-04 00:17:25.263000
Last modified
2026-11-04 00:17:25.263000
View original CVE JSON
{
  "id": "CVE-2026-120639",
  "sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
  "published": "2026-11-04T00:17:25.263",
  "lastModified": "2026-11-04T00:17:25.263",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "CGI versions before 5.00 for Perl allow HTTP header injection via entity decoding after the newline check in header and unchecked values in multipart_start and do_push.\n\nWith autoEscape off, header decodes HTML entities in extra header values after its newline check, so an encoded CR or LF reaches the response. multipart_start does not check header values for newlines, and do_push does not check the type it prints in each part.\n\nAn application that passes request data into these header values can be made to add headers or split the response."
    }
  ],
  "affected": [
    {
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "collectionURL": "https://cpan.org/modules",
          "packageName": "CGI",
          "modules": [
            "CGI"
          ],
          "programFiles": [
            "lib/CGI.pm",
            "lib/CGI/Push.pm"
          ],
          "programRoutines": [
            {
              "name": "CGI::header"
            },
            {
              "name": "CGI::multipart_start"
            },
            {
              "name": "CGI::Push::do_push"
            }
          ],
          "repo": "https://github.com/leejo/CGI.pm",
          "packageURL": "pkg:cpan/CGI",
          "versions": [
            {
              "version": "0",
              "lessThan": "5.00",
              "versionType": "custom",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "weaknesses": [
    {
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-113"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/leejo/CGI.pm/commit/69955309d371c8093d11cf12e3ddef491537ffad.patch",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "https://github.com/leejo/CGI.pm/commit/7733c2753f4f240012097507cda2b6e87ae46db4.patch",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "https://metacpan.org/release/LEEJO/CGI-4.72/source/lib/CGI.pm",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "https://metacpan.org/release/LEEJO/CGI-5.00/changes",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    }
  ]
}