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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…