{"id":"CVE-2024-32980","summary":"Spin contains a potential network sandbox escape for specifically configured Spin applications","details":"Spin is the developer tool for building and running serverless applications powered by WebAssembly. Prior to 2.4.3, some specifically configured Spin applications that use `self` requests without a specified URL authority can be induced to make requests to arbitrary hosts via the `Host` HTTP header. The following conditions need to be met for an application to be vulnerable: 1. The environment Spin is deployed in routes requests to the Spin runtime based on the request URL instead of the `Host` header, and leaves the `Host` header set to its original value; 2. The Spin application's component handling the incoming request is configured with an `allow_outbound_hosts` list containing `\"self\"`; and 3. In reaction to an incoming request, the component makes an outbound request whose URL doesn't include the hostname/port. Spin 2.4.3 has been released to fix this issue.","aliases":["GHSA-f3h7-gpjj-wcvh"],"modified":"2026-04-10T05:13:17.284802Z","published":"2024-05-08T14:32:09.059Z","database_specific":{"cwe_ids":["CWE-610"],"cna_assigner":"GitHub_M","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/32xxx/CVE-2024-32980.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/32xxx/CVE-2024-32980.json"},{"type":"ADVISORY","url":"https://github.com/fermyon/spin/security/advisories/GHSA-f3h7-gpjj-wcvh"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-32980"},{"type":"FIX","url":"https://github.com/fermyon/spin/commit/b3db535c9edb72278d4db3a201f0ed214e561354"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/fermyon/spin","events":[{"introduced":"0"},{"fixed":"ed8a665fb92e23402f8c321573d353b84f8c29aa"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"2.4.3"}]}}],"versions":["sdk/go/v0.10.0","sdk/go/v0.2.0","sdk/go/v0.3.0","sdk/go/v0.4.0","sdk/go/v0.5.0","sdk/go/v0.6.0","sdk/go/v0.7.0","sdk/go/v0.7.1","sdk/go/v0.8.0","sdk/go/v0.9.0","sdk/go/v1.0.0-rc.1","sdk/go/v1.1.0","sdk/go/v1.2.0","sdk/go/v1.3.0","spin/templates/v0.10","spin/templates/v0.3","spin/templates/v0.4","spin/templates/v0.5","spin/templates/v0.6","spin/templates/v0.7","spin/templates/v0.8","spin/templates/v0.9","spin/templates/v1.0","spin/templates/v1.1","spin/templates/v1.3","spin/templates/v1.5","v0.1.0","v0.1.0-rc.1","v0.1.0-rc.2","v0.1.0-rc.3","v0.1.0-rc.4","v0.10.0","v0.2.0","v0.3.0","v0.4.0","v0.5.0","v0.6.0","v0.7.0","v0.7.1","v0.8.0","v0.9.0","v1.0.0-rc.1","v1.1.0","v1.2.0","v1.3.0","v2.4.0","v2.4.1","v2.4.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-32980.json"}},{"ranges":[{"type":"GIT","repo":"https://github.com/spinframework/spin","events":[{"introduced":"0"},{"fixed":"b3db535c9edb72278d4db3a201f0ed214e561354"}]},{"type":"GIT","repo":"https://github.com/spinframework/spin","events":[{"introduced":"0"},{"fixed":"b3db535c9edb72278d4db3a201f0ed214e561354"}]}],"versions":["sdk/go/v0.10.0","sdk/go/v0.2.0","sdk/go/v0.3.0","sdk/go/v0.4.0","sdk/go/v0.5.0","sdk/go/v0.6.0","sdk/go/v0.7.0","sdk/go/v0.7.1","sdk/go/v0.8.0","sdk/go/v0.9.0","sdk/go/v1.0.0-rc.1","sdk/go/v1.1.0","sdk/go/v1.2.0","sdk/go/v1.3.0","spin/templates/v0.10","spin/templates/v0.3","spin/templates/v0.4","spin/templates/v0.5","spin/templates/v0.6","spin/templates/v0.7","spin/templates/v0.8","spin/templates/v0.9","spin/templates/v1.0","spin/templates/v1.1","spin/templates/v1.3","spin/templates/v1.5","v0.1.0","v0.1.0-rc.1","v0.1.0-rc.2","v0.1.0-rc.3","v0.1.0-rc.4","v0.10.0","v0.2.0","v0.3.0","v0.4.0","v0.5.0","v0.6.0","v0.7.0","v0.7.1","v0.8.0","v0.9.0","v1.0.0-rc.1","v1.1.0","v1.2.0","v1.3.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-32980.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}