{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-126308","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","state":"PUBLISHED","assignerShortName":"VulnCheck","dateReserved":"2026-11-10T20:16:44.443Z","datePublished":"2026-11-13T09:36:20.400Z","dateUpdated":"2026-11-13T09:36:20.400Z"},"containers":{"cna":{"providerMetadata":{"orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","shortName":"VulnCheck","dateUpdated":"2026-11-13T09:36:20.400Z"},"datePublic":"2026-10-27T00:00:00.000Z","title":"Coder 2.38.0 before 2.38.2 Session Token Leak via Sub-Agent External Apps","descriptions":[{"lang":"en","value":"The web dashboard in Coder 2.24.0 before 2.29.23, 2.30.0 before 2.34.14, 2.35.0 before 2.36.9, 2.37.0 before 2.37.6, and 2.38.0 before 2.38.2 replaces the $SESSION_TOKEN placeholder in external app URLs with a full-access API key without checking whether the app belongs to a sub-agent. Code running in a workspace can register a disguised sub-agent app with a custom protocol URL, so the owner's click sends their API key to an attacker-chosen destination."}],"problemTypes":[{"descriptions":[{"lang":"en","description":"Insertion of Sensitive Information Into Sent Data","cweId":"CWE-201","type":"CWE"}]}],"affected":[{"vendor":"coder","product":"coder","defaultStatus":"unaffected","packageURL":"pkg:golang/github.com/coder/coder/v2","versions":[{"version":"2.38.0","status":"affected","versionType":"semver","lessThan":"2.38.2"},{"version":"2.38.2","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","defaultStatus":"unaffected","packageURL":"pkg:golang/github.com/coder/coder/v2","versions":[{"version":"2.37.0","status":"affected","versionType":"semver","lessThan":"2.37.6"},{"version":"2.37.6","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","defaultStatus":"unaffected","packageURL":"pkg:golang/github.com/coder/coder/v2","versions":[{"version":"2.36.0","status":"affected","versionType":"semver","lessThan":"2.36.9"},{"version":"2.36.9","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","defaultStatus":"unaffected","packageURL":"pkg:golang/github.com/coder/coder/v2","versions":[{"version":"2.30.0","status":"affected","versionType":"semver","lessThan":"2.34.14"},{"version":"2.34.14","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","defaultStatus":"unaffected","packageURL":"pkg:golang/github.com/coder/coder/v2","versions":[{"version":"2.24.0","status":"affected","versionType":"semver","lessThan":"2.29.23"},{"version":"2.29.23","status":"unaffected","versionType":"semver"}]},{"vendor":"coder","product":"coder","defaultStatus":"unaffected","packageURL":"pkg:golang/github.com/coder/coder/v2","versions":[{"version":"2.35.0","status":"affected","versionType":"semver","lessThan":"2.36.0"},{"version":"2.36.0","status":"unaffected","versionType":"semver"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.38.0","versionEndExcluding":"2.38.2"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.37.0","versionEndExcluding":"2.37.6"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.36.0","versionEndExcluding":"2.36.9"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.30.0","versionEndExcluding":"2.34.14"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.24.0","versionEndExcluding":"2.29.23"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:*","versionStartIncluding":"2.35.0","versionEndExcluding":"2.36.0"}]}]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N","attackVector":"NETWORK","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"PASSIVE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"HIGH","subIntegrityImpact":"HIGH","subAvailabilityImpact":"NONE","baseScore":8.7,"baseSeverity":"HIGH"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":7.7,"baseSeverity":"HIGH"}}],"references":[{"url":"https://github.com/coder/coder/security/advisories/GHSA-2x8w-q434-f76p","tags":["vendor-advisory"],"name":"GitHub Security Advisory (GHSA-2x8w-q434-f76p)"},{"name":"VulnCheck Advisory: Coder 2.38.0 before 2.38.2 Session Token Leak via Sub-Agent External Apps","tags":["third-party-advisory"],"url":"https://www.vulncheck.com/advisories/coder-2.38.0-before-2.38.2-session-token-leak-via-sub-agent-external-apps"}],"credits":[{"lang":"en","value":"manus-pi","type":"reporter"},{"lang":"en","value":"EhabY","type":"remediation developer"}],"x_generator":{"engine":"vulncheck-endgame"}}}}