Loading...
Skip to main content

CVE-2026-42274 — Vulnerability in github.com/dadrus/heimdall — CVE...

HIGH

Heimdall has an authorization bypass via path normalization mismatch

Published April 25, 2026Updated June 25, 2026Source: osv

Summary

### Summary Heimdall performs rule matching on the raw (non-normalized) request path, while downstream components may normalize dot-segments according to [RFC 3986, Section 6.2.2.3](https://www.rfc-editor.org/rfc/rfc3986#section-6.2.2.3). This discrepancy can result in heimdall authorizing a request for one path (e.g., `/user/../admin`, or URL-encoded variants such as `/user/%2e%2e/admin` or `/user/%2e%2e%2fadmin`. The latter would require the `allow_encoded_slashes` option to be set to `on` or `no_decode`.) while the downstream ultimately processes a different, normalized path (`/admin`). ### Details This vulnerability can be exploited by an adversary if rule matching is performed using free (named or unnamed) wildcards without further constraints, as shown in the example snippets below. ```yaml id: rule-1 match: routes: - path: /user/** execute: # configured to require authentication and authorization # ... ``` ```yaml id: rule-2 match: routes: - path: /public/** execute: # configured to allow anonymous access # ... ``` If an adversary sends a request to `/public/../user/whatever`, rule-2 will be matched and executed. The downstream service may, however, normalize the request path and interpret it as `/user/whatever`. ### Impact Bypass of access control policies enforced by heimdall may lead to the following consequences: * Access to or modification of data that should be restricted * Invocation of functionality that is expected to require authentication or authorization * In certain configurations, escalation of privileges depending on the exposed functionality ### Workarounds * Normalize HTTP paths or reject HTTP paths containing relative path expressions in the layers in front of Heimdall - this is good practice anyway. Some proxies do that by default, such as Traefik; others, such as Envoy, require additional configuration (for Envoy see [`normalize_path`](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path)). * Include the ID of the rule expected to be executed in the JWT issued by heimdall and check that value in the consuming project's service.

Advisory Timeline

  • First published April 25, 2026 (170 days ago).
  • Last revised June 25, 2026 — 61 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Go
Update github.com/dadrus/heimdall to 0.17.14 or later
go get github.com/dadrus/heimdall@v0.17.14

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: go (1).

PackageEcosystemAffectedFixed In
github.com/dadrus/heimdall
go
All versions0.17.14

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 10.0 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N

Frequently Asked Questions

What is CVE-2026-42274?
Heimdall has an authorization bypass via path normalization mismatch This vulnerability has been assigned a severity rating of HIGH (CVSS score: 10.0/10).
How do I check if my project is affected by CVE-2026-42274?
CVE-2026-42274 affects github.com/dadrus/heimdall. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-42274 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
10.0

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-3q34-rx83-r6mq
GO-2026-5097

Related CVEs

  • CVE-2026-107809
    HIGH

    Nginx-UI AuthRequired token cookie fallback enables CSRF against management APIs

  • CVE-2026-42272
    HIGH

    Heimdall: Case-sensitive handling of URL-encoded slashes may lead to inconsistent path interpretation

  • CVE-2026-57209
    HIGH

    Heimdall: Forwarded Header Injection via Unsanitized Host Header in Proxy Mode

  • CVE-2026-42273
    HIGH

    Heimdall: Case-sensitive host matching may lead to policy bypass

  • CVE-2026-107813
    HIGH

    Nginx UI: Incomplete fix of CVE-2026-84315 - the api/cluster router was not - wrapped in RequireSecureSession, so those sensitive mutations run without OTP step-up

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies