{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-125331", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-11-09T21:22:55.598Z", "datePublished": "2026-11-10T18:38:44.546Z", "dateUpdated": "2026-11-10T18:38:44.546Z" }, "containers": { "cna": { "title": "HarnessRouter: Service-only routes that write an organization's provider connections could be reached through a multi-tenant console with a made-up bearer", "problemTypes": [ { "descriptions": [ { "cweId": "CWE-862", "lang": "en", "description": "CWE-862: Missing Authorization", "type": "CWE" } ] }, { "descriptions": [ { "cweId": "CWE-863", "lang": "en", "description": "CWE-863: Incorrect Authorization", "type": "CWE" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 9.1, "baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N", "version": "3.1" } } ], "references": [ { "name": "https://github.com/HarnessRouter/harnessrouter/security/advisories/GHSA-p6cq-54cg-8mpv", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/HarnessRouter/harnessrouter/security/advisories/GHSA-p6cq-54cg-8mpv" }, { "name": "https://github.com/HarnessRouter/harnessrouter/pull/418", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/HarnessRouter/harnessrouter/pull/418" }, { "name": "https://github.com/HarnessRouter/harnessrouter/commit/28609ec65ed671112d7e5418926bbd3cb3b25c00", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/HarnessRouter/harnessrouter/commit/28609ec65ed671112d7e5418926bbd3cb3b25c00" }, { "name": "https://github.com/HarnessRouter/harnessrouter/releases/tag/v0.31.8", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/HarnessRouter/harnessrouter/releases/tag/v0.31.8" } ], "affected": [ { "vendor": "HarnessRouter", "product": "harnessrouter", "versions": [ { "version": "< 0.31.8", "status": "affected" } ] } ], "providerMetadata": { "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-11-10T18:38:44.546Z" }, "descriptions": [ { "lang": "en", "value": "HarnessRouter is a self-hosted unified API for running agent harnesses with sessions, streaming, files, cancellation, and failure handling. Prior to 0.31.8, a console that is not in self-hosted mode attaches the server's internal key to requests carrying an Authorization header before validating the bearer, while the service-only PUT and GET /v1/orgs/{org}/connections/{name}, PUT /v1/orgs/{org}/policy/{backend}, and /internal/* routes trust that key and take the organization from the URL. In a multi-organization deployment, a remote caller can use a made-up bearer to rewrite another organization's provider connection to an attacker-controlled endpoint, causing later prompts to be disclosed and attacker-controlled responses to influence tasks. This issue is fixed in version 0.31.8." } ], "source": { "advisory": "GHSA-p6cq-54cg-8mpv", "discovery": "UNKNOWN" } } } }