Spin has memory leaks in various WIT interfaces
Spin is an open source developer tool for building and running serverless applications powered by WebAssembly. When Spin is configured to allow connections to a database or web server which could return responses of unbounded size (e.g. tables with many rows or large content bodies), Spin may in some cases attempt to buffer the entire response before delivering it to the guest, which can lead to the host process running out of memory, panicking, and crashing. In addition, a malicious guest application could incrementally insert a large number of rows or values into a database and then retrieve them all in a single query, leading to large host allocations. Spin 3.6.1, SpinKube 0.6.2, and `containerd-shim-spin` 0.22.1 have been patched to address the issue. As a workaround, configure Spin to only allow access to trusted databases and HTTP servers which limit response sizes.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-770 | CWE-770: Allocation of Resources Without Limits or Throttling |
| CWE | CWE-774 | CWE-774: Allocation of File Descriptors or Handles Without Limits or Throttling |
| CWE | CWE-789 | CWE-789: Memory Allocation with Excessive Size Value |
Type: CWE
Description: CWE-770: Allocation of Resources Without Limits or Throttling
Type: CWE
Description: CWE-774: Allocation of File Descriptors or Handles Without Limits or Throttling
Type: CWE
Description: CWE-789: Memory Allocation with Excessive Size Value
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 4.0 | 6.9 | MEDIUM | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H |
Version: 4.0
Base score: 6.9
Base severity: MEDIUM
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H