Search
Find a vulnerability
Search criteria
12 vulnerabilities by dadrus
CVE-2026-57210 (GCVE-0-2026-57210)
Vulnerability from nvd – Published: 2026-10-23 12:28 – Updated: 2026-10-23 12:28
VLAI
EPSS
VEX
Title
Heimdall: IP Spoofing via Unvalidated Forwarding Headers
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when the trusted_proxies option is configured, heimdall extracts client IP addresses from the Forwarded (for= parameter) and X-Forwarded-For headers and exposes them as Request.ClientIPAddresses to the rule pipeline. However, extracted values are not validated to be syntactically valid IP addresses. Arbitrary strings, malformed IP literals, and RFC 7239 unknown values and obfuscated identifiers are accepted without further checks. In addition, the Forwarded header parser splits on , and ; without accounting for RFC 7239 quoted strings, which can cause a single quoted value to be parsed as multiple entries, with fragments — including trailing quote characters — treated as independent addresses. This issue has been patched in version 0.17.17.
Severity
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.17"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when the trusted_proxies option is configured, heimdall extracts client IP addresses from the Forwarded (for= parameter) and X-Forwarded-For headers and exposes them as Request.ClientIPAddresses to the rule pipeline. However, extracted values are not validated to be syntactically valid IP addresses. Arbitrary strings, malformed IP literals, and RFC 7239 unknown values and obfuscated identifiers are accepted without further checks. In addition, the Forwarded header parser splits on , and ; without accounting for RFC 7239 quoted strings, which can cause a single quoted value to be parsed as multiple entries, with fragments \u2014 including trailing quote characters \u2014 treated as independent addresses. This issue has been patched in version 0.17.17."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-116",
"description": "CWE-116: Improper Encoding or Escaping of Output",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-290",
"description": "CWE-290: Authentication Bypass by Spoofing",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-23T12:28:09.427Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-38x9-25wx-7fg2",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-38x9-25wx-7fg2"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17"
}
],
"source": {
"advisory": "GHSA-38x9-25wx-7fg2",
"discovery": "UNKNOWN"
},
"title": "Heimdall: IP Spoofing via Unvalidated Forwarding Headers"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-57210",
"datePublished": "2026-10-23T12:28:09.427Z",
"dateReserved": "2026-06-24T02:00:46.801Z",
"dateUpdated": "2026-10-23T12:28:09.427Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-57209 (GCVE-0-2026-57209)
Vulnerability from nvd – Published: 2026-10-23 12:27 – Updated: 2026-10-23 12:27
VLAI
EPSS
VEX
Title
Heimdall: Forwarded Header Injection via Unsanitized Host Header in Proxy Mode
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when Heimdall operates in proxy mode, it constructs the Forwarded HTTP header after executing the matched rule pipeline by inserting the incoming request's Host header value directly into the header string without sanitizing commas or semicolons. This allows an attacker to inject additional parameters into the Forwarded header, potentially spoofing IP addresses for upstream services. This issue has been patched in version 0.17.17.
Severity
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.17"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when Heimdall operates in proxy mode, it constructs the Forwarded HTTP header after executing the matched rule pipeline by inserting the incoming request\u0027s Host header value directly into the header string without sanitizing commas or semicolons. This allows an attacker to inject additional parameters into the Forwarded header, potentially spoofing IP addresses for upstream services. This issue has been patched in version 0.17.17."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-74",
"description": "CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component (\u0027Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-23T12:27:19.621Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-4jgr-pg2m-m988",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-4jgr-pg2m-m988"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17"
}
],
"source": {
"advisory": "GHSA-4jgr-pg2m-m988",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Forwarded Header Injection via Unsanitized Host Header in Proxy Mode"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-57209",
"datePublished": "2026-10-23T12:27:19.621Z",
"dateReserved": "2026-06-24T02:00:46.801Z",
"dateUpdated": "2026-10-23T12:27:19.621Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-42274 (GCVE-0-2026-42274)
Vulnerability from nvd – Published: 2026-05-08 03:43 – Updated: 2026-05-11 18:20
VLAI
EPSS
VEX
Title
Heimdall: Authorization bypass via path normalization mismatch
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, 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. 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). This issue has been patched in version 0.17.14.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-05-11 18:19 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3209 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/b5dfa48… | x_refsource_MISC |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-42274",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-11T18:19:37.764124Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-11T18:20:15.059Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.14"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, 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. 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). This issue has been patched in version 0.17.14."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-35",
"description": "CWE-35: Path Traversal: \u0027.../...//\u0027",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-436",
"description": "CWE-436: Interpretation Conflict",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T03:43:41.597Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-3q34-rx83-r6mq",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-3q34-rx83-r6mq"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3209",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3209"
},
{
"name": "https://github.com/dadrus/heimdall/commit/b5dfa484b7a8c2ce6d8691c026f9da867719947a",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/b5dfa484b7a8c2ce6d8691c026f9da867719947a"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14"
}
],
"source": {
"advisory": "GHSA-3q34-rx83-r6mq",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Authorization bypass via path normalization mismatch"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-42274",
"datePublished": "2026-05-08T03:43:41.597Z",
"dateReserved": "2026-04-26T11:53:27.707Z",
"dateUpdated": "2026-05-11T18:20:15.059Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-42273 (GCVE-0-2026-42273)
Vulnerability from nvd – Published: 2026-05-08 03:42 – Updated: 2026-05-08 10:40
VLAI
EPSS
VEX
Title
Heimdall: Case-sensitive host matching may lead to policy bypass
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall performs host matching in a case-sensitive manner, while HTTP hostnames are case-insensitive. This discrepancy can result in heimdall failing to match a rule for a request host that differs only in letter casing, potentially causing the request to be classified differently than intended. This issue has been patched in version 0.17.14.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-05-08 10:40 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3208 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/3d05e56… | x_refsource_MISC |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-42273",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-08T10:40:38.505776Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T10:40:56.541Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.14"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall performs host matching in a case-sensitive manner, while HTTP hostnames are case-insensitive. This discrepancy can result in heimdall failing to match a rule for a request host that differs only in letter casing, potentially causing the request to be classified differently than intended. This issue has been patched in version 0.17.14."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-436",
"description": "CWE-436: Interpretation Conflict",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-178",
"description": "CWE-178: Improper Handling of Case Sensitivity",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T03:42:50.312Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-72h4-mxfc-jx37",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-72h4-mxfc-jx37"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3208",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3208"
},
{
"name": "https://github.com/dadrus/heimdall/commit/3d05e56a9e7ef0355f17482b4322054af4e85943",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/3d05e56a9e7ef0355f17482b4322054af4e85943"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14"
}
],
"source": {
"advisory": "GHSA-72h4-mxfc-jx37",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Case-sensitive host matching may lead to policy bypass"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-42273",
"datePublished": "2026-05-08T03:42:50.312Z",
"dateReserved": "2026-04-26T11:53:27.707Z",
"dateUpdated": "2026-05-08T10:40:56.541Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-42272 (GCVE-0-2026-42272)
Vulnerability from nvd – Published: 2026-05-08 03:40 – Updated: 2026-05-08 23:12
VLAI
EPSS
VEX
Title
Heimdall: Case-sensitive handling of URL-encoded slashes may lead to inconsistent path interpretation
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall handles URL-encoded slashes (%2F) in a case-sensitive manner, while percent-encoding is defined to be case-insensitive. As a result, the lowercase equivalent (%2f) is not recognized and therefore not processed as expected when allow_encoded_slashes is set to off (the default setting). This discrepancy can lead to differences in how request paths are interpreted by heimdall and upstream components, which may result in authorization bypass. This issue has been patched in version 0.17.14.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-05-08 23:12 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3207 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/8b0de6a… | x_refsource_MISC |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-42272",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-08T23:12:19.653095Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T23:12:35.366Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.14"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall handles URL-encoded slashes (%2F) in a case-sensitive manner, while percent-encoding is defined to be case-insensitive. As a result, the lowercase equivalent (%2f) is not recognized and therefore not processed as expected when allow_encoded_slashes is set to off (the default setting). This discrepancy can lead to differences in how request paths are interpreted by heimdall and upstream components, which may result in authorization bypass. This issue has been patched in version 0.17.14."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-436",
"description": "CWE-436: Interpretation Conflict",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-178",
"description": "CWE-178: Improper Handling of Case Sensitivity",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T03:40:17.541Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-43jv-5j4x-qv67",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-43jv-5j4x-qv67"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3207",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3207"
},
{
"name": "https://github.com/dadrus/heimdall/commit/8b0de6aba23a047cfee3081df878271bb17f4351",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/8b0de6aba23a047cfee3081df878271bb17f4351"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14"
}
],
"source": {
"advisory": "GHSA-43jv-5j4x-qv67",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Case-sensitive handling of URL-encoded slashes may lead to inconsistent path interpretation"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-42272",
"datePublished": "2026-05-08T03:40:17.541Z",
"dateReserved": "2026-04-26T11:53:27.707Z",
"dateUpdated": "2026-05-08T23:12:35.366Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-32811 (GCVE-0-2026-32811)
Vulnerability from nvd – Published: 2026-03-20 01:52 – Updated: 2026-03-21 03:00
VLAI
EPSS
VEX
Title
Heimdall: Path received via Envoy gRPC corrupted when containing query string
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. When using Heimdall in envoy gRPC decision API mode with versions 0.7.0-alpha through 0.17.10, wrong encoding of the query URL string allows rules with non-wildcard path expressions to be bypassed. Envoy splits the requested URL into parts, and sends the parts individually to Heimdall. Although query and path are present in the API, the query field is documented to be always empty and the URL query is included in the path field. The implementation uses go's url library to reconstruct the url which automatically encodes special characters in the path. As a consequence, a parameter like /mypath?foo=bar to Path is escaped into /mypath%3Ffoo=bar. Subsequently, a rule matching /mypath no longer matches and is bypassed. The issue can only lead to unintended access if Heimdall is configured with an "allow all" default rule. Since v0.16.0, Heimdall enforces secure defaults and refuses to start with such a configuration unless this enforcement is explicitly disabled, e.g. via --insecure-skip-secure-default-rule-enforcement or the broader --insecure flag. This issue has been fixed in version 0.17.11.
Severity
8.2 (High)
SSVC
Exploitation: poc
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-03-21 02:59 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3106 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/50321b3… | x_refsource_MISC |
| https://github.com/envoyproxy/envoy/blob/105b4acd… | x_refsource_MISC |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-32811",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-03-21T02:59:59.540304Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-03-21T03:00:29.146Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003e= 0.7.0-alpha, \u003c 0.17.11"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. When using Heimdall in envoy gRPC decision API mode with versions 0.7.0-alpha through 0.17.10, wrong encoding of the query URL string allows rules with non-wildcard path expressions to be bypassed. Envoy splits the requested URL into parts, and sends the parts individually to Heimdall. Although query and path are present in the API, the query field is documented to be always empty and the URL query is included in the path field. The implementation uses go\u0027s url library to reconstruct the url which automatically encodes special characters in the path. As a consequence, a parameter like /mypath?foo=bar to Path is escaped into /mypath%3Ffoo=bar. Subsequently, a rule matching /mypath no longer matches and is bypassed. The issue can only lead to unintended access if Heimdall is configured with an \"allow all\" default rule. Since v0.16.0, Heimdall enforces secure defaults and refuses to start with such a configuration unless this enforcement is explicitly disabled, e.g. via --insecure-skip-secure-default-rule-enforcement or the broader --insecure flag. This issue has been fixed in version 0.17.11."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"confidentialityImpact": "LOW",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-116",
"description": "CWE-116: Improper Encoding or Escaping of Output",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-863",
"description": "CWE-863: Incorrect Authorization",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-03-20T01:52:08.415Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-r8x2-fhmf-6mxp",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-r8x2-fhmf-6mxp"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3106",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3106"
},
{
"name": "https://github.com/dadrus/heimdall/commit/50321b3007db1ccafdc6b1cfd6bdc3689c19a502",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/50321b3007db1ccafdc6b1cfd6bdc3689c19a502"
},
{
"name": "https://github.com/envoyproxy/envoy/blob/105b4acd422d67fcff908ec38d91c7676d079939/api/envoy/service/auth/v3/attribute_context.proto#L146-L147",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/envoyproxy/envoy/blob/105b4acd422d67fcff908ec38d91c7676d079939/api/envoy/service/auth/v3/attribute_context.proto#L146-L147"
}
],
"source": {
"advisory": "GHSA-r8x2-fhmf-6mxp",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Path received via Envoy gRPC corrupted when containing query string"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-32811",
"datePublished": "2026-03-20T01:52:08.415Z",
"dateReserved": "2026-03-16T17:35:36.696Z",
"dateUpdated": "2026-03-21T03:00:29.146Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-57210 (GCVE-0-2026-57210)
Vulnerability from cvelistv5 – Published: 2026-10-23 12:28 – Updated: 2026-10-23 12:28
VLAI
EPSS
VEX
Title
Heimdall: IP Spoofing via Unvalidated Forwarding Headers
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when the trusted_proxies option is configured, heimdall extracts client IP addresses from the Forwarded (for= parameter) and X-Forwarded-For headers and exposes them as Request.ClientIPAddresses to the rule pipeline. However, extracted values are not validated to be syntactically valid IP addresses. Arbitrary strings, malformed IP literals, and RFC 7239 unknown values and obfuscated identifiers are accepted without further checks. In addition, the Forwarded header parser splits on , and ; without accounting for RFC 7239 quoted strings, which can cause a single quoted value to be parsed as multiple entries, with fragments — including trailing quote characters — treated as independent addresses. This issue has been patched in version 0.17.17.
Severity
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.17"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when the trusted_proxies option is configured, heimdall extracts client IP addresses from the Forwarded (for= parameter) and X-Forwarded-For headers and exposes them as Request.ClientIPAddresses to the rule pipeline. However, extracted values are not validated to be syntactically valid IP addresses. Arbitrary strings, malformed IP literals, and RFC 7239 unknown values and obfuscated identifiers are accepted without further checks. In addition, the Forwarded header parser splits on , and ; without accounting for RFC 7239 quoted strings, which can cause a single quoted value to be parsed as multiple entries, with fragments \u2014 including trailing quote characters \u2014 treated as independent addresses. This issue has been patched in version 0.17.17."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-116",
"description": "CWE-116: Improper Encoding or Escaping of Output",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-290",
"description": "CWE-290: Authentication Bypass by Spoofing",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-23T12:28:09.427Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-38x9-25wx-7fg2",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-38x9-25wx-7fg2"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17"
}
],
"source": {
"advisory": "GHSA-38x9-25wx-7fg2",
"discovery": "UNKNOWN"
},
"title": "Heimdall: IP Spoofing via Unvalidated Forwarding Headers"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-57210",
"datePublished": "2026-10-23T12:28:09.427Z",
"dateReserved": "2026-06-24T02:00:46.801Z",
"dateUpdated": "2026-10-23T12:28:09.427Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-57209 (GCVE-0-2026-57209)
Vulnerability from cvelistv5 – Published: 2026-10-23 12:27 – Updated: 2026-10-23 12:27
VLAI
EPSS
VEX
Title
Heimdall: Forwarded Header Injection via Unsanitized Host Header in Proxy Mode
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when Heimdall operates in proxy mode, it constructs the Forwarded HTTP header after executing the matched rule pipeline by inserting the incoming request's Host header value directly into the header string without sanitizing commas or semicolons. This allows an attacker to inject additional parameters into the Forwarded header, potentially spoofing IP addresses for upstream services. This issue has been patched in version 0.17.17.
Severity
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.17"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when Heimdall operates in proxy mode, it constructs the Forwarded HTTP header after executing the matched rule pipeline by inserting the incoming request\u0027s Host header value directly into the header string without sanitizing commas or semicolons. This allows an attacker to inject additional parameters into the Forwarded header, potentially spoofing IP addresses for upstream services. This issue has been patched in version 0.17.17."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20: Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-74",
"description": "CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component (\u0027Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-23T12:27:19.621Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-4jgr-pg2m-m988",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-4jgr-pg2m-m988"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.17"
}
],
"source": {
"advisory": "GHSA-4jgr-pg2m-m988",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Forwarded Header Injection via Unsanitized Host Header in Proxy Mode"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-57209",
"datePublished": "2026-10-23T12:27:19.621Z",
"dateReserved": "2026-06-24T02:00:46.801Z",
"dateUpdated": "2026-10-23T12:27:19.621Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-42274 (GCVE-0-2026-42274)
Vulnerability from cvelistv5 – Published: 2026-05-08 03:43 – Updated: 2026-05-11 18:20
VLAI
EPSS
VEX
Title
Heimdall: Authorization bypass via path normalization mismatch
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, 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. 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). This issue has been patched in version 0.17.14.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-05-11 18:19 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3209 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/b5dfa48… | x_refsource_MISC |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-42274",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-11T18:19:37.764124Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-11T18:20:15.059Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.14"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, 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. 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). This issue has been patched in version 0.17.14."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-35",
"description": "CWE-35: Path Traversal: \u0027.../...//\u0027",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-436",
"description": "CWE-436: Interpretation Conflict",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T03:43:41.597Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-3q34-rx83-r6mq",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-3q34-rx83-r6mq"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3209",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3209"
},
{
"name": "https://github.com/dadrus/heimdall/commit/b5dfa484b7a8c2ce6d8691c026f9da867719947a",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/b5dfa484b7a8c2ce6d8691c026f9da867719947a"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14"
}
],
"source": {
"advisory": "GHSA-3q34-rx83-r6mq",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Authorization bypass via path normalization mismatch"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-42274",
"datePublished": "2026-05-08T03:43:41.597Z",
"dateReserved": "2026-04-26T11:53:27.707Z",
"dateUpdated": "2026-05-11T18:20:15.059Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-42273 (GCVE-0-2026-42273)
Vulnerability from cvelistv5 – Published: 2026-05-08 03:42 – Updated: 2026-05-08 10:40
VLAI
EPSS
VEX
Title
Heimdall: Case-sensitive host matching may lead to policy bypass
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall performs host matching in a case-sensitive manner, while HTTP hostnames are case-insensitive. This discrepancy can result in heimdall failing to match a rule for a request host that differs only in letter casing, potentially causing the request to be classified differently than intended. This issue has been patched in version 0.17.14.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-05-08 10:40 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3208 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/3d05e56… | x_refsource_MISC |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-42273",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-08T10:40:38.505776Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T10:40:56.541Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.14"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall performs host matching in a case-sensitive manner, while HTTP hostnames are case-insensitive. This discrepancy can result in heimdall failing to match a rule for a request host that differs only in letter casing, potentially causing the request to be classified differently than intended. This issue has been patched in version 0.17.14."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-436",
"description": "CWE-436: Interpretation Conflict",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-178",
"description": "CWE-178: Improper Handling of Case Sensitivity",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T03:42:50.312Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-72h4-mxfc-jx37",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-72h4-mxfc-jx37"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3208",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3208"
},
{
"name": "https://github.com/dadrus/heimdall/commit/3d05e56a9e7ef0355f17482b4322054af4e85943",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/3d05e56a9e7ef0355f17482b4322054af4e85943"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14"
}
],
"source": {
"advisory": "GHSA-72h4-mxfc-jx37",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Case-sensitive host matching may lead to policy bypass"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-42273",
"datePublished": "2026-05-08T03:42:50.312Z",
"dateReserved": "2026-04-26T11:53:27.707Z",
"dateUpdated": "2026-05-08T10:40:56.541Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-42272 (GCVE-0-2026-42272)
Vulnerability from cvelistv5 – Published: 2026-05-08 03:40 – Updated: 2026-05-08 23:12
VLAI
EPSS
VEX
Title
Heimdall: Case-sensitive handling of URL-encoded slashes may lead to inconsistent path interpretation
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall handles URL-encoded slashes (%2F) in a case-sensitive manner, while percent-encoding is defined to be case-insensitive. As a result, the lowercase equivalent (%2f) is not recognized and therefore not processed as expected when allow_encoded_slashes is set to off (the default setting). This discrepancy can lead to differences in how request paths are interpreted by heimdall and upstream components, which may result in authorization bypass. This issue has been patched in version 0.17.14.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-05-08 23:12 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3207 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/8b0de6a… | x_refsource_MISC |
| https://github.com/dadrus/heimdall/releases/tag/v… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-42272",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-08T23:12:19.653095Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T23:12:35.366Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003c 0.17.14"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.14, Heimdall handles URL-encoded slashes (%2F) in a case-sensitive manner, while percent-encoding is defined to be case-insensitive. As a result, the lowercase equivalent (%2f) is not recognized and therefore not processed as expected when allow_encoded_slashes is set to off (the default setting). This discrepancy can lead to differences in how request paths are interpreted by heimdall and upstream components, which may result in authorization bypass. This issue has been patched in version 0.17.14."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-436",
"description": "CWE-436: Interpretation Conflict",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-178",
"description": "CWE-178: Improper Handling of Case Sensitivity",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T03:40:17.541Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-43jv-5j4x-qv67",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-43jv-5j4x-qv67"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3207",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3207"
},
{
"name": "https://github.com/dadrus/heimdall/commit/8b0de6aba23a047cfee3081df878271bb17f4351",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/8b0de6aba23a047cfee3081df878271bb17f4351"
},
{
"name": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/releases/tag/v0.17.14"
}
],
"source": {
"advisory": "GHSA-43jv-5j4x-qv67",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Case-sensitive handling of URL-encoded slashes may lead to inconsistent path interpretation"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-42272",
"datePublished": "2026-05-08T03:40:17.541Z",
"dateReserved": "2026-04-26T11:53:27.707Z",
"dateUpdated": "2026-05-08T23:12:35.366Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-32811 (GCVE-0-2026-32811)
Vulnerability from cvelistv5 – Published: 2026-03-20 01:52 – Updated: 2026-03-21 03:00
VLAI
EPSS
VEX
Title
Heimdall: Path received via Envoy gRPC corrupted when containing query string
Summary
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. When using Heimdall in envoy gRPC decision API mode with versions 0.7.0-alpha through 0.17.10, wrong encoding of the query URL string allows rules with non-wildcard path expressions to be bypassed. Envoy splits the requested URL into parts, and sends the parts individually to Heimdall. Although query and path are present in the API, the query field is documented to be always empty and the URL query is included in the path field. The implementation uses go's url library to reconstruct the url which automatically encodes special characters in the path. As a consequence, a parameter like /mypath?foo=bar to Path is escaped into /mypath%3Ffoo=bar. Subsequently, a rule matching /mypath no longer matches and is bypassed. The issue can only lead to unintended access if Heimdall is configured with an "allow all" default rule. Since v0.16.0, Heimdall enforces secure defaults and refuses to start with such a configuration unless this enforcement is explicitly disabled, e.g. via --insecure-skip-secure-default-rule-enforcement or the broader --insecure flag. This issue has been fixed in version 0.17.11.
Severity
8.2 (High)
SSVC
Exploitation: poc
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-03-21 02:59 UTC
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/dadrus/heimdall/security/advis… | x_refsource_CONFIRM |
| https://github.com/dadrus/heimdall/pull/3106 | x_refsource_MISC |
| https://github.com/dadrus/heimdall/commit/50321b3… | x_refsource_MISC |
| https://github.com/envoyproxy/envoy/blob/105b4acd… | x_refsource_MISC |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-32811",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-03-21T02:59:59.540304Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-03-21T03:00:29.146Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "heimdall",
"vendor": "dadrus",
"versions": [
{
"status": "affected",
"version": "\u003e= 0.7.0-alpha, \u003c 0.17.11"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. When using Heimdall in envoy gRPC decision API mode with versions 0.7.0-alpha through 0.17.10, wrong encoding of the query URL string allows rules with non-wildcard path expressions to be bypassed. Envoy splits the requested URL into parts, and sends the parts individually to Heimdall. Although query and path are present in the API, the query field is documented to be always empty and the URL query is included in the path field. The implementation uses go\u0027s url library to reconstruct the url which automatically encodes special characters in the path. As a consequence, a parameter like /mypath?foo=bar to Path is escaped into /mypath%3Ffoo=bar. Subsequently, a rule matching /mypath no longer matches and is bypassed. The issue can only lead to unintended access if Heimdall is configured with an \"allow all\" default rule. Since v0.16.0, Heimdall enforces secure defaults and refuses to start with such a configuration unless this enforcement is explicitly disabled, e.g. via --insecure-skip-secure-default-rule-enforcement or the broader --insecure flag. This issue has been fixed in version 0.17.11."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"confidentialityImpact": "LOW",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-116",
"description": "CWE-116: Improper Encoding or Escaping of Output",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-863",
"description": "CWE-863: Incorrect Authorization",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-03-20T01:52:08.415Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/dadrus/heimdall/security/advisories/GHSA-r8x2-fhmf-6mxp",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/dadrus/heimdall/security/advisories/GHSA-r8x2-fhmf-6mxp"
},
{
"name": "https://github.com/dadrus/heimdall/pull/3106",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/pull/3106"
},
{
"name": "https://github.com/dadrus/heimdall/commit/50321b3007db1ccafdc6b1cfd6bdc3689c19a502",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/dadrus/heimdall/commit/50321b3007db1ccafdc6b1cfd6bdc3689c19a502"
},
{
"name": "https://github.com/envoyproxy/envoy/blob/105b4acd422d67fcff908ec38d91c7676d079939/api/envoy/service/auth/v3/attribute_context.proto#L146-L147",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/envoyproxy/envoy/blob/105b4acd422d67fcff908ec38d91c7676d079939/api/envoy/service/auth/v3/attribute_context.proto#L146-L147"
}
],
"source": {
"advisory": "GHSA-r8x2-fhmf-6mxp",
"discovery": "UNKNOWN"
},
"title": "Heimdall: Path received via Envoy gRPC corrupted when containing query string"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-32811",
"datePublished": "2026-03-20T01:52:08.415Z",
"dateReserved": "2026-03-16T17:35:36.696Z",
"dateUpdated": "2026-03-21T03:00:29.146Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}