{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-115539", "assignerOrgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e", "state": "PUBLISHED", "assignerShortName": "Docker", "dateReserved": "2026-10-22T19:45:05.740Z", "datePublished": "2026-11-10T19:57:40.523Z", "dateUpdated": "2026-11-10T19:57:40.523Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "686469e6-3ff6-451b-ab8b-cf5b9e89401e", "shortName": "Docker", "dateUpdated": "2026-11-10T19:57:40.523Z" }, "title": "Cluster-API proxy overwrites forwarded client identity with its own", "descriptions": [ { "lang": "en", "value": "SwarmKit's Cluster-API proxy can overwrite a forwarded client's TLS identity with an intermediary manager's identity. WithMetadataForwardTLSInfo replaces outgoing metadata with a copy of the incoming metadata, discarding the redirect guard's changes when built with grpc-go 1.39 or later. During a short window after a leader change, two proxy hops through managers with inconsistent views of the leader can allow an attacker possessing a valid worker node TLS certificate and private key to obtain a manager node certificate for the attacker's own key, escalating privileges from worker to manager. Applications built with an affected SwarmKit version and grpc-go 1.39 or later are impacted." } ], "affected": [ { "defaultStatus": "unaffected", "packageName": "github.com/moby/swarmkit/v2", "product": "SwarmKit", "vendor": "moby", "versions": [ { "version": "0", "status": "affected", "lessThan": "2.1.3", "versionType": "semver" } ] }, { "defaultStatus": "unaffected", "packageName": "github.com/docker/docker", "product": "Docker Engine", "vendor": "Docker", "versions": [ { "version": "23.0.0", "status": "affected", "lessThan": "*", "versionType": "semver" } ] }, { "defaultStatus": "unaffected", "packageName": "github.com/moby/moby/v2", "product": "Moby", "vendor": "moby", "versions": [ { "version": "0", "status": "affected", "lessThanOrEqual": "2.0.0-beta.28", "versionType": "semver" } ] }, { "defaultStatus": "unaffected", "packageName": "github.com/moby/swarmkit", "product": "SwarmKit", "vendor": "moby", "versions": [ { "version": "1.12.1-0.20220307221335-616e8db4c3b0", "status": "affected", "lessThan": "*", "versionType": "semver" } ] } ], "metrics": [ { "cvssV4_0": { "version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N", "baseScore": 7.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "HIGH", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "Safety": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED", "exploitMaturity": "NOT_DEFINED" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-441", "description": "CWE-441: Unintended Proxy or Intermediary ('Confused Deputy')", "lang": "en", "type": "CWE" } ] } ], "references": [ { "tags": [ "vendor-advisory" ], "url": "https://github.com/moby/swarmkit/security/advisories/GHSA-628g-hv7f-pgjc" } ], "solutions": [ { "lang": "en", "value": "Upgrade applications using github.com/moby/swarmkit/v2 to version 2.1.3 or later." } ], "credits": [ { "lang": "en", "type": "finder", "value": "abdulraheemalick (https://github.com/abdulraheemalick)" } ], "source": { "discovery": "EXTERNAL" } } } }