GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

GHSA-7W2G-9MF9-324M

Vulnerability from github – Published: 2026-09-02 22:11 – Updated: 2026-09-02 22:11
VLAI
Summary
Hurl: Cookies in Cookies section leak when redirecting to a different host
Details

The Bug

Hurl <= 8.0.1 lets you define cookies two ways in a .hurl file:

  1. As a raw Cookie: header in the [Header]/headers area
  2. In a dedicated [Cookies] section (parsed into RequestSpec.cookies)

When following a redirect to a different host, Hurl correctly strips security-sensitive data (Authorization, Cookie header, and basic-auth user) to avoid leaking credentials cross-host — mirroring libcurl's default behavior. But it only stripped the cookie that came in as a header. Cookies declared in the [Cookies] section were carried over to the new host unchanged — a credential-leak bug.

Hurl file that leaks cookies:

GET http://localhost:8000/follow-redirect-basic-auth?change_host=true
[Cookies]
fruit: lemon
HTTP 200

Hurl file that doesn't leak cookie:

GET http://localhost:8000/follow-redirect-basic-auth?change_host=true
Cookie: fruit=lemon
HTTP 200

Patch

With Hurl <= 8.0.1, user can use Cookie header instead of the dedicated [Cookies] section.

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "crates.io",
        "name": "hurl"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "last_affected": "8.0.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-63481"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-201"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-09-02T22:11:11Z",
    "nvd_published_at": "2026-08-20T17:19:15Z",
    "severity": "MODERATE"
  },
  "details": "## The Bug\n\nHurl \u003c= 8.0.1 lets you define cookies two ways in a .hurl file:\n\n1. As a raw Cookie: header in the [Header]/headers area\n2. In a dedicated [Cookies] section (parsed into RequestSpec.cookies)\n\nWhen following a redirect to a different host, Hurl correctly strips security-sensitive data (Authorization, Cookie header, and basic-auth user) to avoid leaking credentials cross-host \u2014 mirroring libcurl\u0027s default behavior. But it only stripped the cookie that came in as a header. Cookies declared in the [Cookies] section were carried over to the new host unchanged \u2014 a credential-leak bug. \n\nHurl file that leaks cookies:\n\n```hurl\nGET http://localhost:8000/follow-redirect-basic-auth?change_host=true\n[Cookies]\nfruit: lemon\nHTTP 200\n```\n\nHurl file that doesn\u0027t leak cookie:\n\n```hurl\nGET http://localhost:8000/follow-redirect-basic-auth?change_host=true\nCookie: fruit=lemon\nHTTP 200\n```\n\n## Patch\n\nWith Hurl \u003c= 8.0.1, user can use `Cookie` header instead of the dedicated `[Cookies]` section.",
  "id": "GHSA-7w2g-9mf9-324m",
  "modified": "2026-09-02T22:11:11Z",
  "published": "2026-09-02T22:11:11Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/Orange-OpenSource/hurl/security/advisories/GHSA-7w2g-9mf9-324m"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-63481"
    },
    {
      "type": "WEB",
      "url": "https://github.com/Orange-OpenSource/hurl/pull/5119"
    },
    {
      "type": "WEB",
      "url": "https://github.com/Orange-OpenSource/hurl/commit/ed91c894c2cf11704422010554037e3ba70b446e"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/Orange-OpenSource/hurl"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "Hurl: Cookies in Cookies section leak when redirecting to a different host"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…