Coder vulnerable to unauthenticated SSRF via Azure Instance Identity Endpoint
Coder allows organizations to provision remote development environments via Terraform. Versions prior tp 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 are vulnerable to unauthenticated semi-blind Server-Side Request Forgery (SSRF) via the Azure instance identity endpoint (`POST /api/v2/workspaceagents/azure-instance-identity`). An external attacker can force the Coder server to issue HTTP GET requests to arbitrary internal or external hosts by submitting a crafted PKCS#7 signature. The server does not return the target's response body, but error messages in the API response reveal whether the target is reachable and what type of failure occurred. Versions 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 patch the issue. As a workaround, if the Azure identity-auth mechanism is not being used then restrict access to the corresponding endpoint (`/api/v2/workspaceagents/azure-instance-identity`) using ingress firewall and/or proxy ACLs.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-45796
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 21:53 UTC · Revision 1
Source evidence
Coder vulnerable to unauthenticated SSRF via Azure Instance Identity Endpoint
core-osv · Original sourcePublished 7 Jul 2026, 21:03 UTC
Coder allows organizations to provision remote development environments via Terraform. Versions prior tp 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 are vulnerable to unauthenticated semi-blind Server-Side Request Forgery (SSRF) via the Azure instance identity endpoint (`POST /api/v2/workspaceagents/azure-instance-identity`). An external attacker can force the Coder server to issue HTTP GET requests to arbitrary internal or external hosts by submitting a crafted PKCS#7 signature. The server does not return the target's response body, but error messages in the API response reveal whether the target is reachable and what type of failure occurred. Versions 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 patch the issue. As a workaround, if the Azure identity-auth mechanism is not being used then restrict access to the corresponding endpoint (`/api/v2/workspaceagents/azure-instance-identity`) using ingress firewall and/or proxy ACLs.
osv:CVE-2026-45796
Complete source record
{
"id": "833f6519e08649f18e7685a2b7006696e9b1d7793370c8c2daa6300b70f1463e",
"url": "https://osv.dev/vulnerability/CVE-2026-45796",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Coder vulnerable to unauthenticated SSRF via Azure Instance Identity Endpoint",
"summary": "Coder allows organizations to provision remote development environments via Terraform. Versions prior tp 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 are vulnerable to unauthenticated semi-blind Server-Side Request Forgery (SSRF) via the Azure instance identity endpoint (`POST /api/v2/workspaceagents/azure-instance-identity`). An external attacker can force the Coder server to issue HTTP GET requests to arbitrary internal or external hosts by submitting a crafted PKCS#7 signature. The server does not return the target's response body, but error messages in the API response reveal whether the target is reachable and what type of failure occurred. Versions 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 patch the issue. As a workaround, if the Azure identity-auth mechanism is not being used then restrict access to the corresponding endpoint (`/api/v2/workspaceagents/azure-instance-identity`) using ingress firewall and/or proxy ACLs.",
"evidence": "osv:CVE-2026-45796",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-45796",
"aliases": [
"CVE-2026-45796",
"GHSA-686c-7vgv-v3fx",
"GO-2026-5169"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/coder/coder",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "cc4907395be7cfd58f3cb19fe1b97f38730bfeec"
},
{
"introduced": "ba71b321bceab3faa128d306e8de3612a673d6c1"
},
{
"fixed": "25ddc1cb787ae88af6040590f676b3d31a63e225"
},
{
"introduced": "43e67d12e278e13399cffc77f132e8e628339477"
},
{
"fixed": "74eba1e8a9f98fddd782b9123241b53510f3c8c9"
},
{
"introduced": "fa050ee0abc24ddf1bf91fb26148a9c3b2bd1481"
},
{
"fixed": "dfe986b2b051a962e8035b0941f5adf312b3926c"
},
{
"introduced": "34584e909bbe6f501fb2cbdc994325b4d3f9e2ef"
},
{
"fixed": "5f343bc337b413aeee8ef2d47004ef97196607c1"
},
{
"introduced": "f009c17217e6bad9a61ba511d23735bc1ce94da0"
},
{
"fixed": "2b778f292c2ddf8ac261683d0d5d8a18da1512f6"
},
{
"fixed": "57b11d405f17492aa789d4b9ff33366f961a37f8"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.24.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.29.0"
},
{
"fixed": "2.29.13"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.30.0"
},
{
"fixed": "2.30.8"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.31.0"
},
{
"fixed": "2.31.12"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.32.0"
},
{
"fixed": "2.32.2"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:coder:coder:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.33.0"
},
{
"fixed": "2.33.3"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "57b11d405f17492aa789d4b9ff33366f961a37f8"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "cc4907395be7cfd58f3cb19fe1b97f38730bfeec"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v2.24.5"
},
{
"range": [
{
"fixed": "25ddc1cb787ae88af6040590f676b3d31a63e225"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v2.29.13"
},
{
"range": [
{
"fixed": "74eba1e8a9f98fddd782b9123241b53510f3c8c9"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v2.30.8"
},
{
"range": [
{
"fixed": "dfe986b2b051a962e8035b0941f5adf312b3926c"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v2.31.12"
},
{
"range": [
{
"fixed": "5f343bc337b413aeee8ef2d47004ef97196607c1"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v2.32.2"
},
{
"range": [
{
"fixed": "2b778f292c2ddf8ac261683d0d5d8a18da1512f6"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v2.33.3"
}
]
}
}
],
"versions": [
"v2.24.4",
"v2.29.12",
"v2.33.2",
"v2.32.1",
"v2.31.11",
"v2.33.1",
"v2.33.0",
"v2.31.10",
"v2.29.11",
"v2.34.0-rc.0",
"v2.29.10",
"v2.33.0-rc.3",
"v2.31.9",
"v2.30.7",
"v2.33.0-rc.2",
"v2.32.0",
"v2.30.6",
"v2.31.8",
"v2.33.0-rc.0",
"v2.33.0-rc.1",
"v2.31.7",
"v2.29.9",
"v2.30.5",
"v2.31.6",
"v2.31.5",
"v2.30.4",
"v2.29.8",
"v2.32.0-rc.0",
"v2.30.3",
"list",
"describe",
"v2.31.4",
"v2.31.3",
"v2.31.2",
"v2.31.1",
"v2.31.0",
"v2.30.2",
"v2.29.7",
"v2.29.6",
"v2.29.5",
"v2.29.4",
"v2.29.3",
"v2.29.2",
"v2.29.1",
"v2.29.0",
"v2.24.3",
"v2.24.2",
"v2.24.1",
"v2.24.0",
"v2.10.0",
"v2.9.0",
"v2.6.0",
"v2.8.0",
"v2.7.1",
"v2.7.0",
"v2.5.1",
"v2.5.0",
"v2.4.0",
"v2.3.3",
"v2.3.2",
"v2.3.1",
"v2.3.0",
"v2.2.1",
"v2.1.5",
"v2.1.4",
"v2.1.3",
"v2.1.2",
"v2.1.1",
"v2.0.2",
"v0.27.1",
"v0.27.0",
"v0.26.2",
"v0.26.1",
"v0.26.0",
"v0.25.0",
"v0.24.1",
"v0.24.0",
"v0.23.7",
"v0.23.6",
"v0.23.5",
"v0.23.4",
"v0.23.3",
"v0.23.2",
"v0.23.1",
"v0.23.0",
"v0.22.2",
"v0.22.1",
"v0.22.0",
"v0.21.3",
"v0.21.2",
"v0.21.1",
"v0.21.0",
"v0.20.1",
"v0.20.0",
"v0.19.2",
"v0.19.1",
"v0.19.0",
"v0.18.1",
"v0.18.0",
"v0.17.4",
"v0.17.3",
"v0.17.2",
"v0.17.1",
"v0.17.0",
"v0.16.0",
"v0.15.3",
"v0.15.2",
"v0.15.1",
"v0.15.0",
"v0.14.3",
"v0.14.2",
"v0.14.1",
"v0.14.0",
"v0.13.6",
"v0.13.5",
"v0.13.4",
"v0.13.3",
"v0.13.2",
"v0.13.1",
"v0.13.0",
"v0.12.9",
"v0.12.8",
"v0.12.7",
"v0.12.6",
"v0.12.5",
"v0.12.4",
"v0.12.3",
"v0.12.2",
"v0.12.1",
"v0.12.0",
"v0.11.0",
"v0.10.2",
"v0.10.1",
"v0.10.0",
"rm",
"v0.9.10",
"v0.9.9",
"v0.9.8",
"v0.9.7",
"v0.9.6",
"v0.9.5",
"v0.9.4",
"v0.9.3",
"v0.9.2",
"v0.9.1",
"v0.9.0",
"v0.8.15",
"v0.8.14",
"v0.8.13",
"v0.8.12",
"v0.8.11",
"v0.8.10",
"v0.8.9",
"v0.8.8",
"v0.8.7",
"v0.8.6",
"v0.8.5",
"v0.8.4",
"v0.8.3",
"v0.8.2",
"v0.8.1",
"v0.8.0",
"v0.7.12",
"v0.7.11",
"v0.7.10",
"v0.7.9",
"v0.7.8",
"v0.7.7",
"v0.7.6",
"v0.7.5",
"v0.7.4",
"v0.7.3",
"v0.7.2",
"v0.7.1",
"v0.7.0",
"v0.6.6",
"v0.6.5",
"v0.6.4",
"v0.6.3",
"v0.6.2",
"v0.6.1",
"v0.6.0",
"v0.5.11",
"v0.5.10",
"v0.5.9",
"v0.5.8",
"v0.5.7",
"v0.5.6",
"v0.5.5",
"v0.5.4",
"v0.5.3",
"v0.5.2",
"v0.5.1",
"v0.5.0",
"v0.4.4",
"v0.4.3",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.5",
"v0.3.4",
"v0.3.3",
"v0.3.2",
"v0.3.1",
"v0.3.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-45796.json"
}
}
],
"modified": "2026-10-28T02:30:23.975153678Z",
"provider": "osv",
"references": [
"https://github.com/coder/coder/releases/tag/v2.24.5",
"https://github.com/coder/coder/releases/tag/v2.29.13",
"https://github.com/coder/coder/releases/tag/v2.30.8",
"https://github.com/coder/coder/releases/tag/v2.31.12",
"https://github.com/coder/coder/releases/tag/v2.32.2",
"https://github.com/coder/coder/releases/tag/v2.33.3",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45796.json",
"https://github.com/coder/coder/security/advisories/GHSA-686c-7vgv-v3fx",
"https://nvd.nist.gov/vuln/detail/CVE-2026-45796",
"https://github.com/coder/coder/commit/57b11d405f17492aa789d4b9ff33366f961a37f8",
"https://github.com/coder/coder/pull/25274"
],
"provider_metadata": {
"cwe_ids": [
"CWE-918"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45796.json"
}
},
"related_cves": [
{
"value": "CVE-2026-45796",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 490391,
"published_at": "2026-07-07T21:03:11.066+00:00"
}