CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-63481

CVE-2026-63481: Sensitive Information Exposure in Hurl [Cookies] Redirection

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 3, 2026·6 min read·26 visits

Executive Summary (TL;DR)

Hurl failed to strip cookies defined in the custom [Cookies] block when following cross-origin redirects, leading to potential session hijacking.

Hurl version 8.0.1 and earlier contains a sensitive information exposure vulnerability during cross-origin HTTP redirections. Cookies defined via a dedicated [Cookies] parser block are carried into the redirected request, whereas standard raw Cookie headers are correctly stripped. This allows attackers to capture session credentials by redirecting Hurl clients to untrusted external hosts.

Vulnerability Overview

CVE-2026-63481 is a sensitive information exposure vulnerability classified as CWE-201 in the Hurl command-line HTTP testing tool. Hurl, developed by Orange-OpenSource, parses and runs HTTP request specifications defined in plain text files. The issue resides in Hurl's client redirection sequence, where the tool fails to isolate custom cookie structures when following cross-origin redirects.

Under standard operating conditions, secure HTTP clients must ensure that sensitive headers are restricted to the origin domain that set them. If a request undergoes an HTTP redirection to a foreign host, standard cookies and authentication parameters must be stripped. While Hurl successfully executes this boundary enforcement for conventional raw HTTP headers, it neglects custom internal data structures.

This behavior exposes test suites to credential theft when executing redirects configured via the inline options or command-line parameters. An attacker who controls an endpoint or can induce a redirect can receive the active cookies intended for the original target. This vulnerability affects all Hurl versions up to and including 8.0.1 and has been fully remediated in version 8.1.0.

Root Cause Analysis

The fundamental flaw in CVE-2026-63481 is located in the client redirection loop within packages/hurl/src/http/client.rs. Hurl leverages the Rust bindings for libcurl to handle network requests and follow HTTP redirects. By default, libcurl contains logic to strip conventional Cookie and Authorization headers when navigating cross-origin redirects. Hurl replicates this protection inside its client layer by manually filtering out these headers when same_host is evaluated as false.

However, Hurl provides two distinct ways to define cookies for automated tests. Users can pass cookies directly via standard raw HTTP headers, or they can use the dedicated [Cookies] parser block. Cookies defined in the standard raw headers are serialized directly into the outgoing header vector, making them subject to the manual filter. Cookies defined via the [Cookies] block are stored separately within a custom RequestSpec.cookies data vector.

When a redirection occurs, Hurl re-evaluates the host configuration and constructs a new request specification. The client removes raw headers such as Authorization and Cookie from the header vector. However, the client fails to inspect or clear the RequestSpec.cookies field. Consequently, the custom cookie container is passed completely intact into the redirected request, causing the client to reissue these credentials to the foreign host.

Code Analysis

Analyzing the vulnerable code path in packages/hurl/src/http/client.rs reveals the exact mechanism of the leak. During the redirection sequence, Hurl re-evaluates the original request specification and clones its fields. When the hostname changes and the target is not trusted, standard headers are filtered, but the cookies vector is copied directly.

// Vulnerable logic in Hurl <= 8.0.1
let mut headers = request_spec.headers;
if !same_host {
    headers.retain(|h| !h.name_eq(AUTHORIZATION));
    headers.retain(|h| !h.name_eq(COOKIE));
    options.user = None;
}
 
let redirect_request_spec = RequestSpec {
    url: redirect_url,
    headers,
    cookies: request_spec.cookies, // Vulnerable: unchanged vector is carried over
    body,
    ..
};

The fix introduced in version 8.1.0 changes this logic by copying the cookie vector into a mutable variable and explicitly purging its contents if a cross-origin redirect is encountered without explicit user trust overrides.

// Patched logic in Hurl 8.1.0
let mut headers = request_spec.headers;
let mut cookies = request_spec.cookies;
 
if !same_host && !options.location_trusted {
    headers.retain(|h| !h.name_eq(AUTHORIZATION));
    headers.retain(|h| !h.name_eq(COOKIE));
    cookies.clear(); // Fixed: Clears structured cookies for foreign domains
    options.user = None;
}
 
let redirect_request_spec = RequestSpec {
    url: redirect_url,
    headers,
    cookies,
    body,
    ..
};

Evaluating the completeness of this fix shows that it directly addresses the identified leakage route. However, teams must recognize that utilizing the --location-trusted flag overrides this security check. Under trusted-location settings, both standard headers and custom cookie structures are deliberately preserved across redirects, meaning that operational vigilance is required when executing tests with this flag enabled.

Exploitation Methodology

An attacker can exploit this vulnerability by establishing a malicious server or leveraging an existing open redirect on a trusted target. The attack depends on a Hurl test file containing both a [Cookies] block and active redirect-following options. A representative redirection and compromise path is shown below.

When Hurl initiates the HTTP session with the trusted server, it includes the credentials specified in the custom parser block. If the trusted server returns an HTTP 302 Found response directing Hurl to an external, attacker-controlled host, the client follows the pointer. Because the client fails to clear the custom cookies vector, it establishes a new connection with the attacker's host and transmits the sensitive cookies.

The attacker's web server captures the incoming request and logs the HTTP headers. Since the client reconstructed the cookie from its internal vector, the attacker successfully retrieves the session cookies. This sensitive information can then be used to authenticate as the compromised user or run authorized API operations against the target platform.

Impact Assessment

The impact of CVE-2026-63481 is classified as high-severity information disclosure. Because Hurl is often used within continuous integration and continuous deployment pipelines, the tool routinely handles elevated administrative tokens and API keys. A leak of these credentials from a pipeline environment can grant attackers access to sensitive internal infrastructure.

The vulnerability is assigned a CVSS v4.0 base score of 6.9, reflecting network-level exploitability and high confidentiality impact on the affected system. It requires active user interaction, as an operator must run a test file that initiates a request to a compromised target. Direct impact on the integrity and availability of the client host is not present, as the vulnerability does not enable local code execution.

EPSS tracking indicates a score of 0.00467, which represents a low current probability of automated exploitation in the wild. However, the operational threat remains substantial for environments executing tests against external APIs or third-party webhooks. Because test results are frequently collected in centralized logging systems, leaked headers may also be stored permanently in cleartext logs.

Remediation & Mitigation Guidance

The primary remediation strategy is upgrading the Hurl binary to version 8.1.0 or higher. The official release includes the code changes required to strip custom cookie structures during cross-origin redirections. Security teams should scan production test environments and update the tool within their package managers or container configurations.

For systems where upgrading is not immediately possible, operators should convert all [Cookies] parser blocks into standard HTTP Cookie headers. Standard raw headers are properly processed and stripped by the Hurl client during redirections. Alternatively, teams can disable the automatic redirect-following option (location: true or --location flag) and manually validate redirection chains.

Finally, development teams must avoid using the --location-trusted command-line argument unless absolutely necessary. This argument explicitly bypasses the boundary checks, forcing Hurl to retain credentials across different origins. Restricting its use reduces the surface area for accidental credential exposure.

Official Patches

Orange-OpenSourcePull request addressing cookie leakage during cross-host redirects

Fix Analysis (1)

Technical Appendix

CVSS Score
6.9/ 10
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
EPSS Probability
0.47%
Top 61% most exploited

Affected Systems

Hurl command-line testing tool (Orange-OpenSource/hurl)

Affected Versions Detail

Product
Affected Versions
Fixed Version
hurl
Orange-OpenSource
<= 8.0.18.1.0
AttributeDetail
CWE IDCWE-201
Attack VectorNetwork (AV:N)
CVSS Score6.9 (Medium)
EPSS Score0.00467
ImpactSensitive Information Disclosure
Exploit StatusPoC Available
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1539Steal Web Session Cookie
Credential Access
T1557Adversary-in-the-Middle
Credential Access
CWE-201
Insertion of Sensitive Information Into Sent Data

The product matches sensitive data or configurations with a transport container or protocol segment that is sent to an untrusted actor or boundary.

Known Exploits & Detection

Advisory ContextThe advisory details the proof of concept redirect mechanism and the differences in cookie header stripping behavior.

Vulnerability Timeline

Patch commit and pull request submitted
2026-06-26
Official GHSA Advisory and CVE record published
2026-08-20
NVD indexes CVE-2026-63481
2026-08-20

References & Sources

  • [1]GitHub Security Advisory GHSA-7w2g-9mf9-324m
  • [2]NVD - CVE-2026-63481

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 20 hours ago•CVE-2026-107844
5.3

CVE-2026-107844: Path Traversal Vulnerability in Contao ImagesController

A path traversal vulnerability (CWE-22) in Contao CMS allows unauthenticated remote attackers to bypass directory boundary restrictions in ImagesController and access files within the project directory.

Amit Schendel
Amit Schendel
8 views•5 min read
•about 22 hours ago•CVE-2026-107848
3.5

CVE-2026-107848: Cross-Site Request Forgery (CSRF) in Contao Backend Actions via GET Requests

Contao Open Source CMS versions 4.0.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 contain a Cross-Site Request Forgery (CSRF) vulnerability in backend parameter handling. The `RequestTokenListener` component validates anti-CSRF tokens solely for HTTP POST requests, while GET-based declarative guards run only when an `act` parameter is present in the query string. Consequently, custom backend actions dispatched via alternative parameters such as `key=` can execute without CSRF token verification when triggered by an authenticated user.

Amit Schendel
Amit Schendel
7 views•5 min read
•about 23 hours ago•CVE-2026-107843
5.3

CVE-2026-107843: Unthrottled Activation Email Resend and Account Enumeration in Contao CMS

Contao CMS versions 4.1.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 fail to validate form submission tokens and enforce rate limiting when processing activation email resend requests via HTTP POST, enabling resource exhaustion and account state enumeration.

Amit Schendel
Amit Schendel
8 views•4 min read
•1 day ago•CVE-2026-107842
5.3

CVE-2026-107842: Information Disclosure via Stale Indexing in Contao Search Module

An information disclosure vulnerability in Contao CMS allows unauthenticated site visitors to view protected page titles, URLs, and text excerpts through search queries when protected page indexing is disabled after previously being enabled.

Amit Schendel
Amit Schendel
9 views•4 min read
•1 day ago•GHSA-G38J-7V97-X298
6.5

GHSA-G38J-7V97-X298: Missing Authorization Check in Vikunja CalDAV Task Relation Creation

In Vikunja prior to version 2.6.0, relation creation via the CalDAV endpoint fails to invoke the TaskRelation.CanCreate authorization check. This missing access control allows an authenticated user to establish unauthorized relationships and perform write operations against any task, provided its unique identifier (UID) is known.

Alon Barad
Alon Barad
12 views•5 min read
•1 day ago•GHSA-3HC7-R24J-RPWC
6.8

GHSA-3hc7-r24j-rpwc: Cross-Project Task Disclosure via Subtask Expansion in Vikunja

A cross-project information disclosure vulnerability in Vikunja allows authenticated users with read access to one project to view private task details from unauthorized projects via subtask expansion parameters.

Alon Barad
Alon Barad
9 views•5 min read