Skip to main content

HarnessRouter CVE-2026-114362

| EUVDEUVD-2026-107502 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-21 VulDB GHSA-m79r-m5x7-m977
5.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with valid API key
  2. Exploit
    Submit crafted base_url to test endpoint
  3. Execution
    Server fetches internal or metadata URL
  4. Impact
    Return internal response to attacker

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

Requires an authenticated caller possessing a valid API key (PR:L) who can reach the '/v1/cloud-upload/targets/test' (and '/v1/cloud-upload/targets') route and control the 'base_url' argument; the server then fetches that address and returns the response, enabling SSRF to private, loopback or cloud-metadata ranges (e.g., 169.254.169.254). The key LIMITING factor is deployment mode: the fix shows self-hosted instances where '_pool_is_local()' is true intentionally allow any http(s) internal address (operator's own network), so meaningful exploitation targets SHARED/cloud deployments, where pre-patch code applied no scheme or private-range filtering. No user interaction is needed, but valid credentials and a shared-deployment posture are prerequisites.

Impact

This is a genuine but moderate-priority issue, best characterized as a credible-but-not-urgent SSRF. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and score of 5.3 indicate remote, low-complexity exploitation that nonetheless requires authentication (PR:L) - the source diff confirms this, since the vulnerable '/v1/cloud-upload/targets/test' route fetches the attacker-supplied address only 'for any caller with a key.' Impact is rated Low across confidentiality, integrity and availability (VC:L/VI:L/VA:L), consistent with an SSRF that returns the fetched response to the caller rather than granting code execution. No exploitation-probability signals elevate this: there is no EPSS score in the input, the CVE is not listed in CISA KEV, and no public exploit is identified - the E:X (Exploit Maturity: Not Defined) in the vector reinforces that exploitation status is undetermined. No SSVC decision data was provided. The sole reporting/intelligence source is VulDB; there is no independent corroboration of severity. One nuance worth flagging for defenders: the fix shows exploitability is deployment-dependent - on self-hosted ('_pool_is_local') instances internal fetches are intentionally permitted, so the real risk concentrates on shared/cloud-hosted deployments where private, loopback and cloud-metadata ranges (e.g., 169.254.169.254) were previously reachable. In short, a real and patchable flaw, but one gated by authentication and deployment mode rather than a high-urgency widespread threat.

Exploit ScenarioDerived

An attacker holding a valid API key submits a crafted base_url (for example, pointing at the cloud metadata service at 169.254.169.254 or an internal-only host) to the Targets Test Endpoint, which fetches that address server-side and returns the response to the caller, leaking internal data. Because the server trusts the supplied address without validation on shared deployments, the attacker can probe and read internal services reachable from the gateway. No public exploit code is identified at time of analysis, though the fixing PR and advisory describe the mechanism in detail.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Server-side request forgery in HarnessRouter's 'Targets Test Endpoint' (gateway/app.py) lets an authenticated caller holding a valid API key submit an arbitrary 'base_url' that the server fetches and whose response is returned to the caller, so affected deployments up to 0.31.12 can be induced to reach internal, loopback or cloud-metadata addresses (e.g., 169.254.169.254). The practical exposure is concentrated on shared/cloud deployments, since the vendor's fix deliberately keeps allowing internal http(s) destinations when the instance is self-hosted on the operator's own network. There is no public exploit identified at time of analysis and no CISA KEV listing; the vendor has released v0.31.13 (commit 1c4b1fc1f89737dabd089ac1d1c174a57f764e28) as the fix.

RemediationAI

Vendor-released patch: upgrade to HarnessRouter 0.31.13, which contains commit 1c4b1fc1f89737dabd089ac1d1c174a57f764e28 (PR #429) and applies the '_cloud_base_refused()' validation to both new base_url submissions and previously stored target records. Refer to the advisory GHSA-c5g7-c47h-f6c3 and the release page for upgrade instructions. If immediate upgrade is not possible, restrict the '/v1/cloud-upload/targets' and '/v1/cloud-upload/targets/test' routes to trusted operators at the reverse proxy or ingress (trade-off: any legitimate self-service target-testing workflow breaks), audit and prune stored upload targets with internal or metadata-looking base_url values, and limit/rotate API keys so that only required callers can reach the cloud-upload API. Network-level egress filtering from the gateway to RFC1918 ranges, 127.0.0.0/8, ::1 and 169.254.169.254, or enforcing https-only outbound with an allowlist, will contain the SSRF blast radius (trade-off: self-hosted operators who intentionally push to internal destinations will need explicit allowlist entries, and metadata-service blocking may affect legitimate cloud SDK/IMDSv2 flows).

Affected VersionsENISA

HarnessRouter 0.31.12
HarnessRouter 0.31.8
HarnessRouter 0.31.11
HarnessRouter 0.31.2
HarnessRouter 0.31.9
HarnessRouter 0.31.4
HarnessRouter 0.31.0
HarnessRouter 0.31.5
HarnessRouter 0.31.1
HarnessRouter 0.31.3
HarnessRouter 0.31.10
HarnessRouter 0.31.7
HarnessRouter 0.31.6

Affected Packages

euvd harnessrouter no fix

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

The flaw is CWE-918 (Server-Side Request Forgery) in the Python gateway service of HarnessRouter. The '/v1/cloud-upload/targets/test' and '/v1/cloud-upload/targets' routes pass a caller-supplied 'base_url' into the upload/test flow, which fetches that address and returns the remote answer, so without validation the gateway becomes a proxy into whatever network segment it can reach. Pre-fix code applied neither scheme restriction nor private/loopback/metadata range filtering. The patch introduces a helper, '_cloud_base_refused()', which parses the URL (requiring a hostname), and on a shared deployment ('_pool_is_local()' false) enforces https-only plus a '_internal_target()' resolution check that rejects private, local and metadata ranges; on a self-hosted box (pool-is-local true) any http(s) host remains permitted because the network belongs to the operator. The same guard is applied to previously stored target records so pre-existing destinations are skipped rather than called. The supplied vector carries PR:L (authenticated) with AV:N and low confidentiality/integrity/availability impact, consistent with a credentialed SSRF whose leverage depends on network segmentation and deployment mode.

Know when Harnessrouter 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

Vendor (VulDB) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 6.3 MEDIUM

Remote and low-complexity but needs a valid API key, so PR:L; the test route returns fetched responses to the caller with limited internal read/interaction impact, so C/I/A:L and scope unchanged.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A flaw has been found in HarnessRouter up to 0.31.12. This impacts an unknown function of the file gateway/app.py of the component Targets Test Endpoint. Executing a manipulation of the argument base_url can lead to server-side request forgery. The attack may be performed from remote. Upgrading to version 0.31.13 will fix this issue. This patch is called 1c4b1fc1f89737dabd089ac1d1c174a57f764e28. It is suggested to upgrade the affected component.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche open-source MCP/cloud-upload gateway, no established enterprise footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy