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-67435

CVE-2026-67435: Custom Authentication Header Leakage via Cross-Origin Redirects in linuxfabrik-lib

Amit Schendel
Amit Schendel
Senior Security Researcher

Jul 31, 2026·6 min read·18 visits

Executive Summary (TL;DR)

A vulnerability in linuxfabrik-lib prior to 6.0.0 forwards custom authentication headers (such as X-Auth-Token or X-Api-Key) during cross-origin redirects, allowing remote attackers to exfiltrate administrative credentials.

CVE-2026-67435 is a security vulnerability in the linuxfabrik-lib Python library prior to version 6.0.0. When performing HTTP requests with follow_redirects enabled, custom authentication headers (such as X-Auth-Token or X-Api-Key) are forwarded during cross-origin redirects. A malicious or compromised server can leverage this behavior to capture sensitive monitoring and administrative credentials, leading to potential unauthorized access and Server-Side Request Forgery (SSRF).

Vulnerability Overview

The component linuxfabrik-lib is a utility library developed by Linuxfabrik GmbH, primarily used to support enterprise monitoring plugins. Within this library, the HTTP client utility lib.url.fetch() streamlines network interactions by wrapping the HTTP client library httpx. These utilities are routinely deployed within automation scripts and infrastructure monitoring frameworks to query internal networks and device endpoints.

By default, lib.url.fetch() configures the HTTP client with automatic redirection capabilities (follow_redirects=True). Because monitoring configurations frequently rely on persistent authentication mechanisms to query endpoints, sensitive tokens are passed via HTTP headers. This exposure creates a broad attack surface if a monitored endpoint is compromised or misconfigured to yield redirection paths.

The vulnerability belongs to the CWE-200 (Exposure of Sensitive Information) and CWE-918 (Server-Side Request Forgery) classes. Under certain conditions, a target device can coerce the client library into leaking critical administrative credentials to arbitrary external domains. This bypasses the security zone separation established within monitoring environments.

Technical Root Cause Analysis

The underlying flaw arises from how the HTTP client engine manages cross-origin redirects. While standard HTTP libraries, including httpx, strip default authentication headers such as Authorization or Cookie upon encountering cross-origin HTTP 3xx redirects, they lack context regarding proprietary or application-specific headers. Consequently, custom headers remain attached to the redirected request.

In infrastructure monitoring contexts, plugins frequently query out-of-band management platforms, such as Redfish APIs. These APIs rely on proprietary authentication schemes, using custom headers like X-Auth-Token or vendor-specific API keys like X-Api-Key. Because these headers do not match the standardized standard list of credential headers, the client continues to transmit them when executing cross-origin redirection hops.

An attacker who can influence the destination of the HTTP query can manipulate the host to return a 302 Found or 307 Temporary Redirect response. If the client automatically follows the redirect, the custom authentication header is dispatched directly to the target system controlled by the attacker. This configuration results in direct credential exposure without requiring complex exploit payloads or privilege escalations.

Code-Level Analysis and Patch Review

The vulnerability was remediated in commit 6573ff9347e541200305d278d2663d2e54e052ff by implementing custom header filtering on redirect events. The patch introduces a static list of trusted transport headers, designated as _REDIRECT_SAFE_HEADERS. These headers are deemed safe for transfer across security domains because they do not carry user-specific credentials.

# Safe headers to keep when redirecting across origins
_REDIRECT_SAFE_HEADERS = frozenset({
    'accept',
    'accept-encoding',
    'accept-language',
    'connection',
    'content-length',
    'content-type',
    'host',
    'transfer-encoding',
    'user-agent',
})

To determine whether a redirection hop represents a cross-origin boundary crossing, the developers implemented origin-matching logic. The function evaluates if the scheme, host, or port changes during transit, excluding standard HTTP-to-HTTPS upgrades on the same host.

def _leaks_credentials_on_redirect(src, dst):
    # Compare source and destination origins
    same_origin = (
        src.scheme == dst.scheme
        and src.host == dst.host
        and _default_port(src) == _default_port(dst)
    )
    if same_origin:
        return False
    # Allow standard http to https upgrades
    https_upgrade = (
        src.host == dst.host
        and src.scheme == 'http'
        and _default_port(src) == 80
        and dst.scheme == 'https'
        and _default_port(dst) == 443
    )
    return not https_upgrade

To apply this logic to the httpx.Client without modifying the global package namespace, the patching code interceptively shadows the private _redirect_headers method of the instance. If a cross-origin transfer is detected, non-whitelisted headers are explicitly deleted.

def _install_safe_redirect_stripping(client):
    original = getattr(client, '_redirect_headers', None)
    if original is None:
        return client
 
    def _redirect_headers(request, url, method):
        headers = original(request, url, method)
        if _leaks_credentials_on_redirect(request.url, url):
            for name in list(headers.keys()):
                if name.lower() not in _REDIRECT_SAFE_HEADERS:
                    del headers[name]
        return headers
 
    client._redirect_headers = _redirect_headers
    return client

> [!WARNING] > While this patch effectively closes the vulnerability, it exhibits potential robustness issues. It monkey-patches _redirect_headers, a private internal method of the httpx module. Because private methods are subject to change in minor version updates of httpx, future modifications to the internal signature of httpx could disable the security wrapper without causing standard execution runtime errors.

Attack Methodology and Scenario

An execution scenario involves an attacker targeting internal monitoring infrastructure. The attacker identifies a monitored target device or service that has been compromised, or whose DNS records can be spoofed. Alternatively, the target endpoint may allow user-supplied URI injection, permitting an attacker to manipulate the redirect destinations.

In the first stage, the monitoring agent initiates a routine poll to the target device using the vulnerable library. The request includes custom credentials, such as an X-Auth-Token header containing administrative session data. Because the device is compromised or configured to act maliciously, it responds with an HTTP redirect code pointing to http://evil.local.

The vulnerable lib.url.fetch() utility intercepts the redirect and processes the redirection automatically. It instantiates a new HTTP request targeting http://evil.local but fails to strip the custom header. Upon receipt, the attacker-controlled server extracts the X-Auth-Token value from the request headers, granting the attacker administrative privileges over the monitored system.

Security Impact Assessment

The potential consequences of CVE-2026-67435 are severe, particularly because it directly exposes out-of-band management endpoints. These platforms control server hardware, firmware updates, and core hypervisor systems. If an administrative Redfish token is leaked, attackers can gain console access or modify hardware configurations.

The vulnerability is assigned a CVSS v4.0 base score of 6.0, indicating a Medium severity issue. While the attack is relatively simple once a redirect path is established, the exploitation is bounded by the need to intercept or manipulate target network responses. The Confidentiality vector is rated High because complete session tokens are exposed.

Because this vulnerability is not currently listed in the CISA KEV catalog and lacks weaponized exploitation scripts, the immediate exploitation threat remains low. However, custom automation scripts that interact with third-party APIs represent an overlooked vector for silent credential harvest.

Remediation and Defense-in-Depth

The primary remediation path requires upgrading linuxfabrik-lib to version 6.0.0 or higher. This version contains the dynamic patching wrapper that intercepts and filters redirected request headers, safeguarding custom security context during origin crossings.

If patching cannot be executed immediately, administrators must secure their execution environment using secondary controls. Egress firewalls on monitoring agent hosts should be restricted to prevent outgoing traffic to unauthorized IP addresses and domains. Monitoring agents should only communicate with known, whitelisted internal resources.

Additionally, developers can configure the library to disable redirection parsing globally when executing authenticated HTTP queries. Passing follow_redirects=False within calling functions prevents the client library from automatically navigating redirect pathways, neutralizing the primary attack vector.

Official Patches

Linuxfabrik GmbHOfficial fix commit implementing dynamic redirection header stripping

Fix Analysis (1)

Technical Appendix

CVSS Score
6.0/ 10
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
EPSS Probability
0.29%
Top 79% most exploited

Affected Systems

linuxfabrik-libLinuxfabrik Monitoring Plugins

Affected Versions Detail

Product
Affected Versions
Fixed Version
linuxfabrik-lib
Linuxfabrik GmbH
< 6.0.06.0.0
AttributeDetail
CWE IDCWE-200, CWE-918
Attack VectorNetwork
CVSS v4.0 Score6.0
EPSS Score0.00286 (Percentile: 20.87%)
ImpactCredential Exposure
Exploit StatusNone
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1552Unsecured Credentials
Credential Access
T1005Data from Local System
Collection
T1190Exploit Public-Facing Application
Initial Access
CWE-200
Exposure of Sensitive Information to an Unauthorized Actor

The product exposes sensitive information to an actor who is not authorized to have access to that information.

Vulnerability Timeline

Patch commit merged into linuxfabrik-lib main branch
2026-07-07
Vulnerability published as CVE-2026-67435 / GHSA-4jc5-g844-4x33
2026-07-29
Vulnerability data indexed in EPSS and OSV databases
2026-07-30

References & Sources

  • [1]GitHub Security Advisory GHSA-4jc5-g844-4x33
  • [2]Fix Commit: Strip custom headers on cross-origin redirects
  • [3]linuxfabrik-lib Release v6.0.0
  • [4]NVD Record for CVE-2026-67435
  • [5]CVE.org Record for CVE-2026-67435

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

•23 minutes ago•CVE-2026-107725
8.7

CVE-2026-107725: Remote Code Execution via Authorization Bypass in Hazelcast Predicates API

CVE-2026-107725 is a critical security bypass in Hazelcast where missing authorization checks in the MapPermission class permit unprivileged clients to issue queries containing aggregators or projections. This architectural oversight allows attackers to run arbitrary code on the cluster servers under the privileges of the active Hazelcast process.

Amit Schendel
Amit Schendel
1 views•7 min read
•about 1 hour ago•CVE-2026-107396
5.4

CVE-2026-107396: Stored Cross-Site Scripting (XSS) in Indico

A stored Cross-Site Scripting (XSS) vulnerability was identified in Indico, an open-source event management system developed at CERN, prior to version 3.3.13. The vulnerability stems from weak URL validation in custom link fields and lack of HTML sanitization during Marshmallow serialization of event notes. This allows authenticated attackers with event modification privileges to inject malicious payloads that execute in the browser of users viewing the event pages or collaborating on notes.

Alon Barad
Alon Barad
2 views•6 min read
•about 2 hours ago•CVE-2026-107397
4.4

CVE-2026-107397: Stored Cross-Site Scripting via Collaborative Editor Conflict Resolution and Custom Link Fields in Indico

A technical analysis of CVE-2026-107397, a stored Cross-Site Scripting (XSS) vulnerability in Indico's collaborative notes editor and custom link generation fields. Prior to version 3.3.13, Marshmallow serialization schemas omitted HTML sanitization during conflict resolution, and form validators failed to enforce strict URI schemes, enabling authenticated low-privilege attackers to execute arbitrary JavaScript.

Alon Barad
Alon Barad
0 views•7 min read
•about 3 hours ago•CVE-2026-107395
4.3

CVE-2026-107395: Missing Authorization in Indico Legacy Session Export API

An authorization bypass vulnerability exists in the legacy session export API of Indico, an open-source event management system developed at CERN. Due to a missing object-level access check, authenticated users can bypass configuration-level restrictions to extract private session metadata (including session titles, descriptions, and list of conveners) from events that they are otherwise authorized to view.

Alon Barad
Alon Barad
8 views•5 min read
•about 4 hours ago•CVE-2026-107394
6.8

CVE-2026-107394: Server-Side Request Forgery Bypass via Parser Differential in Indico

An incomplete Server-Side Request Forgery (SSRF) validation check in Indico prior to version 3.3.13 allows authenticated event organizers to bypass outbound network restrictions. By utilizing backslash characters within crafted URLs, attackers can exploit a parser differential between the application's validator and the downstream HTTP client library to access internal network resources.

Alon Barad
Alon Barad
6 views•6 min read
•about 5 hours ago•CVE-2026-107717
6.5

CVE-2026-107717: Chat Role Injection and Prompt Boundary Bypass in Banks Library

CVE-2026-107717 represents a critical prompt boundary bypass and chat role injection vulnerability in the Banks Python package (versions prior to 2.5.0). The library parses generated template outputs line-by-line, attempting to validate each segment as a JSON-serialized ChatMessage object without validating the source boundaries of the text. If an application integrates user input directly into a prompt template, a remote, unauthenticated attacker can supply multi-line inputs with structured JSON payloads. This input is then parsed as high-privilege system instructions or tool execution responses, completely hijacking downstream Large Language Model behavior.

Alon Barad
Alon Barad
8 views•6 min read