Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify reachable Heimdall instance
-
DeliverySend unauthenticated POST to /tenable login endpoint
-
ExploitSupply internal host as host_url parameter
-
ExecutionBackend proxies HTTP request to internal target
-
ImpactReceive internal service response
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The Tenable integration controller routes must be network-reachable, which is the default for any Heimdall deployment. Critically, in versions prior to 2.14.0 the Tenable controller had no authentication guard (JwtAuthGuard was added only in the fix commit), so exploitation requires zero credentials - no account, no session token. The attacker must supply a host_url parameter in the request body pointing to an internal host; the backend must be able to initiate outbound TCP connections to that host on the specified port. Exploitation is limited to hosts reachable from the Heimdall server's network position, so cloud-metadata or internal API endpoints co-located in the same VPC or subnet are the primary risk targets. No special Heimdall configuration beyond a running instance is required to be vulnerable. |
| Impact | The NVD CVSS 5.8 reflects a Scope-Changed network vector (AV:N/AC:L/PR:N/UI:N/S:C) with low integrity and no confidentiality impact (C:N/I:L/A:N). However, the C:N rating appears conservative: the vulnerable endpoint is a bidirectional proxy, meaning server responses from internal hosts would likely be returned to the attacker, suggesting C:L is more accurate (raising the effective score toward 6.x). No EPSS data was provided; no KEV entry and no public POC exist at time of analysis, which materially lowers immediate exploitation priority. The most significant real-world risk signal is the complete absence of authentication on the Tenable controller prior to the fix - any network-reachable Heimdall instance was exposed without credential requirements. Exploitation is constrained by Heimdall's limited deployment footprint (primarily government and security-team environments). The C:N vs. C:L discrepancy should be verified against vendor interpretation of the proxy response path. |
| Exploit ScenarioDerived | An unauthenticated attacker who can reach the Heimdall web interface sends a crafted POST request to the Tenable login or proxy endpoint, supplying a host_url value pointing to an internal service (e.g., a cloud metadata endpoint at 169.254.169.254 or an internal API server). The Heimdall backend forwards the request to that internal host and returns the response to the attacker, exposing internal network topology or sensitive service data. No exploit code is publicly available, but the attack requires only standard HTTP tooling given the lack of authentication on the vulnerable endpoint. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 29, 2026
Server-Side Request Forgery in MITRE SAF Heimdall 2.11.6 through 2.13.x allows unauthenticated remote attackers to reach internal network hosts by supplying an arbitrary host_url parameter to the Tenable proxy endpoint, which the backend forwards without validation. The root cause is the absence of both authentication guards and URL allowlist enforcement on the /tenable proxy route, as confirmed by the fix commit adding JwtAuthGuard and an origin-based allowlist. No public exploit code and no CISA KEV entry are identified at time of analysis, limiting immediate real-world risk despite the network-accessible, no-authentication attack vector.
RemediationAI
The vendor-released patch is Heimdall v2.14.0, available at https://github.com/mitre/heimdall2/releases/tag/v2.14.0. Operators should upgrade immediately by pulling the v2.14.0 release and restarting the backend service. After upgrading, configure the TENABLE_HOST_URL environment variable as a newline-separated allowlist of permitted Tenable.SC origins (protocol + host + optional port), per the updated .env-example; entries not on the list are rejected with HTTP 400. If an immediate upgrade is not possible, network-layer controls should restrict inbound access to the Heimdall backend to known client IP ranges, and outbound connections from the Heimdall server should be firewall-restricted to only the legitimate Tenable.SC host(s) - this reduces but does not eliminate SSRF risk, as internal hosts within the allowed egress range remain reachable. The security advisory is at https://github.com/mitre/heimdall2/security/advisories/GHSA-g9vx-2rpf-gpch.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Heimdall is a TypeScript/NestJS application (CPE: cpe:2.3:a:mitre:heimdall:*:*:*:*:*:*:*:*) that exposes a Tenable.SC proxy controller at apps/backend/src/tenable/tenable.controller.ts. The vulnerable code accepted a client-supplied host_url parameter and constructed outbound HTTP requests using that value without validation, a textbook CWE-918 (Server-Side Request Forgery) pattern. The Tenable integration is designed to forward authentication credentials and proxy REST API calls to a configured Tenable.SC instance; the lack of an allowlist means attackers could redirect those outbound calls to arbitrary internal hosts reachable from the Heimdall server. The fix introduced parseHostUrl() validation, a newline-separated TENABLE_HOST_URL allowlist in the backend environment, and JwtAuthGuard on the controller - all absent in the vulnerable versions.
Know when Heimdall gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
Bidirectional proxy returns internal host responses to attacker, justifying C:L over NVD's C:N; all other metrics align with the unauthenticated network-accessible SSRF.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
1DescriptionCVE.org
In MITRE SAF Heimdall 2.11.6 through 2.13.x before 2.14.0, an SSRF issue allows remote attackers to access internal network resources via the Tenable proxy endpoint. This occurs in apps/backend/src/tenable/tenable.controller.ts.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Authorization bypass in Heimdall cloud-native Identity Aware Proxy allows remote unauthenticated attackers to circumvent
Heimdall's case-sensitive host matching bypasses access control policies when attackers submit HTTP requests with altern
Authorization bypass in Heimdall cloud-native Identity Aware Proxy affects versions prior to 0.17.14 due to case-sensiti
Server-side request forgery in LinuxServer Heimdall through 2.8.3 lets an unauthenticated attacker coerce the server int
EUVD-2026-68115
GHSA-mgq6-mc59-8j8m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB