Skip to content
Heist/ feed
Back to feed
Medium

Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle

Type: advisorySources: OSV

Guzzle is an extensible PHP HTTP client. Prior to 7.12.1, CookieJar incorrectly accepts cookies with a dot-only Domain attribute and whitespace-padded variants. SetCookie::matchesDomain() removes leading dots from the cookie domain, normalizing dot-only values to the empty string; SetCookie::validate() only rejected a strictly empty domain, so these cookies could be stored and the empty normalized domain was treated as matching any request host. An attacker-controlled origin that an application requests with a shared cookie jar can therefore set a cookie that Guzzle later sends to unrelated hosts using the same jar. This may allow cookie injection or session fixation against downstream services, depending on how those services interpret the injected cookie. This vulnerability is fixed in 7.12.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-55767
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 08:59 UTC · Revision 1

Source evidence

Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle

core-osv · Original source

Published 23 Jun 2026, 15:05 UTC

Guzzle is an extensible PHP HTTP client. Prior to 7.12.1, CookieJar incorrectly accepts cookies with a dot-only Domain attribute and whitespace-padded variants. SetCookie::matchesDomain() removes leading dots from the cookie domain, normalizing dot-only values to the empty string; SetCookie::validate() only rejected a strictly empty domain, so these cookies could be stored and the empty normalized domain was treated as matching any request host. An attacker-controlled origin that an application requests with a shared cookie jar can therefore set a cookie that Guzzle later sends to unrelated hosts using the same jar. This may allow cookie injection or session fixation against downstream services, depending on how those services interpret the injected cookie. This vulnerability is fixed in 7.12.1.

osv:CVE-2026-55767
Complete source record
{
  "id": "9452bc0bf97fd1d12fea7b5e43e3db0d0a8681b619bafc50c6cf5e69b8b60cab",
  "url": "https://osv.dev/vulnerability/CVE-2026-55767",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Guzzle: Dot-Only Cookie Domains Match All Hosts in guzzlehttp/guzzle",
    "summary": "Guzzle is an extensible PHP HTTP client. Prior to 7.12.1, CookieJar incorrectly accepts cookies with a dot-only Domain attribute and whitespace-padded variants. SetCookie::matchesDomain() removes leading dots from the cookie domain, normalizing dot-only values to the empty string; SetCookie::validate() only rejected a strictly empty domain, so these cookies could be stored and the empty normalized domain was treated as matching any request host. An attacker-controlled origin that an application requests with a shared cookie jar can therefore set a cookie that Guzzle later sends to unrelated hosts using the same jar. This may allow cookie injection or session fixation against downstream services, depending on how those services interpret the injected cookie. This vulnerability is fixed in 7.12.1.",
    "evidence": "osv:CVE-2026-55767",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-55767",
      "aliases": [
        "CVE-2026-55767",
        "GHSA-cwxw-98qj-8qjx"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/guzzle/guzzle",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "d34627490fbc03bf5c5d7cfed81f2faa19519425"
                },
                {
                  "fixed": "7f537cded1912349abf5081258d6db19106d774d"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:guzzlephp:guzzle:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "7.12.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "7f537cded1912349abf5081258d6db19106d774d"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d34627490fbc03bf5c5d7cfed81f2faa19519425"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "7.12.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "7.12.0",
            "7.11.0",
            "7.10.0",
            "7.9.3",
            "7.9.2",
            "7.9.1",
            "7.9.0",
            "7.8.1",
            "7.8.0",
            "7.7.0",
            "7.6.1",
            "7.6.0",
            "7.5.1",
            "7.5.0",
            "7.4.5",
            "7.4.4",
            "7.4.3",
            "7.4.2",
            "7.4.1",
            "7.4.0",
            "7.3.0",
            "7.2.0",
            "7.1.1",
            "7.1.0",
            "7.0.0",
            "7.0.0-rc.1",
            "7.0.0-beta.2",
            "7.0.0-beta.1",
            "6.5.0",
            "6.4.1",
            "6.4.0",
            "6.3.3",
            "6.3.2",
            "6.3.1",
            "6.3.0",
            "6.2.2",
            "6.2.1",
            "4.2.3",
            "6.2.0",
            "6.1.1",
            "6.1.0",
            "6.0.2",
            "6.0.1",
            "6.0.0",
            "5.3.0",
            "5.2.0",
            "5.1.0",
            "5.0.3",
            "5.0.2",
            "5.0.1",
            "5.0.0",
            "4.2.2",
            "4.2.1",
            "4.2.0",
            "4.1.8",
            "4.1.7",
            "4.1.6",
            "4.1.5",
            "4.1.4",
            "4.1.3",
            "4.1.2",
            "4.1.1",
            "4.1.0",
            "4.0.2",
            "4.0.1",
            "4.0.0",
            "4.0.0-rc.2",
            "4.0.0-rc.1",
            "v3.8.1",
            "v3.8.0",
            "v3.7.4",
            "v3.7.3",
            "v3.7.2",
            "v3.7.1",
            "v3.7.0",
            "v3.6.0",
            "v3.5.0",
            "v3.4.3",
            "v3.4.2",
            "v3.4.1",
            "v3.4.0",
            "v3.3.1",
            "v3.3.0",
            "v3.2.0",
            "v3.1.2",
            "v3.1.1",
            "v3.1.0",
            "v3.0.7",
            "v3.0.6",
            "v3.0.5",
            "v3.0.4",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.8.8",
            "v2.8.7",
            "v2.8.6",
            "v2.8.5",
            "v2.8.4",
            "v2.8.3",
            "v2.8.2",
            "v2.8.1",
            "v2.8.0",
            "v2.7.2",
            "v2.7.1",
            "v2.7.0",
            "v2.6.6",
            "v2.6.5",
            "v2.6.4",
            "v2.6.3",
            "v2.6.2",
            "v2.6.1",
            "v2.6.0",
            "v2.5.0",
            "v2.4.1",
            "v2.4.0",
            "v2.3.2",
            "v2.3.1",
            "v2.3.0",
            "v2.2.4",
            "v2.2.3",
            "v2.2.2",
            "v2.2.1",
            "v2.2.0",
            "v2.1.4",
            "v2.1.3",
            "v2.1.2",
            "v2.1.1",
            "v2.1.0",
            "v2.0.5",
            "v2.0.4",
            "v2.0.3",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0",
            "v1.0.3",
            "v1.0.2",
            "v1.0.1",
            "v1.0.0",
            "v1.0.0beta1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-55767.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:34.038653125Z",
      "provider": "osv",
      "references": [
        "https://github.com/guzzle/guzzle/releases/tag/7.12.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55767.json",
        "https://github.com/FriendsOfPHP/security-advisories/blob/master/guzzlehttp/guzzle/CVE-2026-55767.yaml",
        "https://github.com/guzzle/guzzle/security/advisories/GHSA-cwxw-98qj-8qjx",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-55767",
        "https://github.com/guzzle/guzzle/commit/7f537cded1912349abf5081258d6db19106d774d",
        "https://github.com/guzzle/guzzle/pull/3653"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-1286",
          "CWE-346"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55767.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-55767",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 501282,
  "published_at": "2026-06-23T15:05:05.552+00:00"
}