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



GHSA-6MGF-V5J7-45CR

GHSA-6MGF-V5J7-45CR: Sensitive Information Leak via Cross-Origin Redirects in OpenClaw

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 10, 2026·5 min read·48 visits

Executive Summary (TL;DR)

A fail-open design in OpenClaw's fetch utility leaks custom API keys and tokens during cross-origin redirects.

OpenClaw versions prior to v2026.3.7 suffer from a sensitive information disclosure vulnerability in the `fetch-guard` component. During cross-origin HTTP redirects, custom authentication headers are improperly forwarded to untrusted domains due to an incomplete denylist validation approach.

Vulnerability Overview

GHSA-6MGF-V5J7-45CR identifies a sensitive information disclosure vulnerability within the OpenClaw project. The flaw resides specifically in the fetch-guard component, which provides the fetchWithSsrFGuard utility for secure HTTP requests. This component is designed to prevent Server-Side Request Forgery (SSRF) and manage request state during cross-origin interactions.

The vulnerability manifests when the utility handles HTTP redirect responses (such as 301 or 302 status codes) that point to a different origin. During this transition, the client must evaluate which HTTP headers are safe to forward to the new destination. Improper header management allows sensitive authentication data to leak to unauthorized third-party domains.

The root cause is an insecure fail-open design relying on a denylist for header sanitization. Custom headers used for application-specific authentication are not removed before the client follows the redirect. This behavior violates the principle of least privilege regarding data transmission boundaries.

Root Cause Analysis

The vulnerability originates from the header sanitization logic in src/infra/net/fetch-guard.ts. The implementation utilized a predefined denylist array named CROSS_ORIGIN_REDIRECT_SENSITIVE_HEADERS. This array explicitly identified standard authentication headers, such as authorization, proxy-authorization, and cookie, for removal during a cross-origin transition.

When fetchWithSsrFGuard intercepted a redirect to a new origin, it iterated through the outgoing request headers and checked them against this denylist. If a header matched a denylist entry, the function removed it. Any header absent from the denylist was preserved and attached to the subsequent request to the new origin.

This fail-open approach fundamentally fails to account for custom authentication schemes. Modern web applications and APIs frequently utilize non-standard headers, such as X-Api-Key, Private-Token, or X-Auth-Token, to transmit secret material. Because these custom headers were absent from the hardcoded denylist, the sanitization logic ignored them, ensuring their unrestricted delivery to the redirect target.

Code Analysis

The vulnerable implementation explicitly targeted a narrow set of well-known headers. The original array definition restricted sanitization to only four specific strings. This rigid implementation offered zero protection for APIs employing custom token headers.

// Original vulnerable implementation
const CROSS_ORIGIN_REDIRECT_SENSITIVE_HEADERS = [
  "authorization",
  "proxy-authorization",
  "cookie",
  "cookie2",
];

Commit 46715371b0612a6f9114dffd1466941ac476cef5 rectifies this flaw by replacing the denylist with a strict allowlist. The patch introduces CROSS_ORIGIN_REDIRECT_SAFE_HEADERS, a Set containing only intrinsically safe HTTP headers such as accept, content-type, and user-agent. This shift to a default-deny posture ensures that unknown or custom headers are implicitly rejected.

// Patched implementation utilizing an allowlist
function stripSensitiveHeadersForCrossOriginRedirect(init?: RequestInit): RequestInit | undefined {
  if (!init?.headers) return init;
  const incoming = new Headers(init.headers);
  const headers = new Headers();
  for (const [key, value] of incoming.entries()) {
    if (CROSS_ORIGIN_REDIRECT_SAFE_HEADERS.has(key.toLowerCase())) {
      headers.set(key, value);
    }
  }
  return { ...init, headers };
}

The patched logic constructs an entirely new Headers object. It iterates through the incoming request headers and copies only the keys that explicitly match the allowlist. This architectural change completely eliminates the risk of custom header leakage during origin transitions.

Exploitation and Attack Methodology

Exploitation requires an attacker to control the redirection target of a request initiated by the vulnerable OpenClaw client. The attacker must position a malicious redirector in the request path. This can occur if the OpenClaw client requests an external resource that the attacker compromises, or if an existing Server-Side Request Forgery vulnerability allows the attacker to specify the initial request URL.

Once the client initiates a request containing custom authentication headers to the initial endpoint, the server responds with an HTTP 302 redirect pointing to the attacker-controlled domain. The OpenClaw client intercepts this redirect, evaluates the cross-origin state, and applies the flawed denylist sanitization.

The attacker server receives the follow-up request exactly as it was formulated for the original domain. Because the custom headers bypassed the denylist, they are transmitted in plain text within the request payload. The attacker extracts the leaked X-Api-Key or Private-Token directly from their web server access logs or via a custom listener script.

Impact Assessment

The primary impact of this vulnerability is the complete compromise of credentials transmitted via custom HTTP headers. Unauthorized actors who successfully capture these tokens gain the ability to impersonate the OpenClaw client. This facilitates unauthorized access to upstream APIs, internal microservices, or third-party platforms integrated with the affected application.

The severity is classified as High due to the potential for lateral movement and data exfiltration. If the leaked token possesses administrative privileges or grants access to sensitive customer data, the security boundary of the dependent system is entirely breached. The impact scales linearly with the permission level of the exposed credential.

This vulnerability strictly impacts custom authentication implementations. Environments relying solely on standard Authorization headers or cookies remain protected by the original denylist logic. However, modern API architectures heavily favor custom token headers, making this exposure highly relevant to contemporary enterprise deployments.

Remediation Guidance

The definitive remediation for this vulnerability requires upgrading the OpenClaw dependency. Security engineering teams must update all instances of the OpenClaw library to version v2026.3.7. This release contains the mandatory architectural shift from header denylisting to strict allowlisting.

Prior to deployment, organizations must conduct an impact analysis to determine if custom authentication headers are utilized within their environments. Administrators must review outbound proxy logs and web application firewalls for unexpected cross-origin redirects originating from the fetchWithSsrFGuard utility.

If log analysis indicates anomalous redirect activity preceding the application of the patch, incident response teams must assume token compromise. All custom API keys, private tokens, and service account credentials associated with the affected HTTP clients must be immediately revoked and regenerated.

Official Patches

OpenClawOfficial patch release v2026.3.7

Fix Analysis (1)

Technical Appendix

CVSS Score
7.5/ 10

Affected Systems

OpenClaw fetch-guard componentApplications utilizing fetchWithSsrFGuard

Affected Versions Detail

Product
Affected Versions
Fixed Version
OpenClaw
OpenClaw
< v2026.3.7v2026.3.7
AttributeDetail
CWE IDCWE-200
Attack VectorNetwork
SeverityHigh
Exploit StatusProof of Concept (PoC)
Vulnerability TypeInformation Disclosure
RemediationPatch Available

MITRE ATT&CK Mapping

T1557Adversary-in-the-Middle
Credential Access
T1539Steal Web Session Cookie
Credential Access
CWE-200
Exposure of Sensitive Information to an Unauthorized Actor

Vulnerability Timeline

Vulnerability Disclosed
2026-03-07
Patch Available
2026-03-07

References & Sources

  • [1]GitHub Advisory: GHSA-6MGF-V5J7-45CR
  • [2]Fix Commit in OpenClaw Repository
  • [3]OpenClaw Release v2026.3.7

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

•7 minutes ago•CVE-2026-54651
5.5

CVE-2026-54651: Infinite Loop Vulnerability in pypdf Article Thread Parser

An infinite loop vulnerability exists in the pure-Python PDF library pypdf prior to version 6.13.1. When parsing or merging a crafted PDF file containing a cyclic Article/Thread structure, the library fails to exit its traversal loop. This causes the executing thread to hang indefinitely, leading to 100% CPU utilization and a denial of service. The vulnerability is tracked under CVE-2026-54651 and GHSA-g9xf-7f8q-9mcj, with a CVSS base score of 5.5. This technical report provides a root cause analysis, code review, exploitation vectors, and mitigation paths.

Alon Barad
Alon Barad
1 views•7 min read
•about 5 hours ago•GHSA-387M-935M-C4VW
7.5

GHSA-387m-935m-c4vw: Unbounded HTTP Redirections Enable Infinite Loop Denial of Service in Micronaut HTTP Client

The Netty-based HTTP Client in the Micronaut framework fails to enforce a maximum redirect ceiling by default when processing HTTP responses. This permits remote, attacker-controlled servers to trigger continuous, infinite redirect loops. The resulting recursion causes high CPU utilization, thread starvation, and potential memory exhaustion, inducing a Denial of Service (DoS) state in client-side applications.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 5 hours ago•GHSA-Q6GH-6V2R-HJV3
8.8

GHSA-Q6GH-6V2R-HJV3: Cross-Origin Credential Leakage in Micronaut HTTP Client

An information disclosure vulnerability exists in the Micronaut Framework's HTTP client components. The client fails to clear sensitive authorization headers and cookies when following redirects across different origins. If an application using the vulnerable client communicates with an endpoint that issues a redirect to an external host, the client will forward the original credentials, leading to potential token theft and session hijacking.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 6 hours ago•GHSA-52VM-MXX8-F227
7.7

GHSA-52vm-mxx8-f227: Arbitrary File Write and Decompression Denial of Service in phantom-audio

GHSA-52vm-mxx8-f227 is a dual-vector security flaw in phantom-audio (<= 1.3.0). The vulnerability allows arbitrary file writes due to unconfined Model Context Protocol (MCP) tool paths when the PHANTOM_OUTPUT_DIR environment variable is not defined. Concurrently, the platform lacks validation controls during the decompression of highly compressed audio files, resulting in resource-exhaustion denial of service and downstream parsing vulnerability exposure.

Amit Schendel
Amit Schendel
5 views•5 min read
•about 6 hours ago•GHSA-C43V-4CR8-6MVP
6.5

GHSA-C43V-4CR8-6MVP: Authenticated Path Traversal in Craft CMS Asset Icon Helper

An authenticated path traversal and arbitrary local file read vulnerability exists in Craft CMS versions 4.x up to 4.17.6 within the assets/icon endpoint and Assets helper classes. By exploiting this vulnerability, an authenticated user can traverse directories and read arbitrary .svg files on the server's filesystem, or execute Stored Cross-Site Scripting (XSS) if they can upload a malicious SVG.

Alon Barad
Alon Barad
4 views•8 min read
•about 7 hours ago•GHSA-86VW-X4WW-X467
8.6

CVE-2026-56382: Remote Code Execution in Craft CMS via Yii2 Event Handler Injection

CVE-2026-56382 is a high-severity remote code execution vulnerability in Craft CMS versions 5.5.0 through 5.9.13. The vulnerability exists within the FieldsController::actionRenderCardPreview() method due to a lack of sanitization of the user-supplied fieldLayoutConfig configuration array, permitting authenticated administrators to register arbitrary PHP callbacks using Yii2 event handler injection mechanisms. This issue has been fully remediated in version 5.9.14.

Amit Schendel
Amit Schendel
5 views•6 min read