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 applications 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 doesnt include the hostname/port. Spin 2.4.3 has been released to fix this issue.
The product uses an externally controlled name or reference that resolves to a resource that is outside of the intended control sphere.