Coder's unbounded memory allocation in provisioner file upload allows authenticated denial of service
Description
Coder allows organizations to provision remote development environments via Terraform. Starting in version 2.24.0 and prior to versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2, NewDataBuilder in provisionersdk/proto/dataupload.go allocated a byte slice using the client-supplied FileSize from a DataUpload message without an upper-bound check. Although the DRPC wire limit is 4 MiB, the FileSize value itself was unconstrained. The fix in versions 2.29.7, 2.32.7, 2.33.8, and 2.34.2 validates FileSize against an upper bound (MaxFileSize = 100 MiB) before allocation. As a workaround, restrict access to the provisioner daemon serve endpoint to trusted provisioner daemon service accounts.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
github.com/coder/coder/v2Go | >= 2.34.0, < 2.34.2 | 2.34.2 |
github.com/coder/coder/v2Go | >= 2.33.0, < 2.33.8 | 2.33.8 |
github.com/coder/coder/v2Go | >= 2.30.0, < 2.32.7 | 2.32.7 |
github.com/coder/coder/v2Go | >= 2.24.0, < 2.29.17 | 2.29.17 |
Affected products
1Patches
Vulnerability mechanics
References
7- github.com/advisories/GHSA-f962-qm93-mj4cghsaADVISORY
- github.com/coder/coder/pull/25710ghsax_refsource_MISCWEB
- github.com/coder/coder/releases/tag/v2.29.17mitrex_refsource_MISC
- github.com/coder/coder/releases/tag/v2.32.7mitrex_refsource_MISC
- github.com/coder/coder/releases/tag/v2.33.8mitrex_refsource_MISC
- github.com/coder/coder/releases/tag/v2.34.2mitrex_refsource_MISC
- github.com/coder/coder/security/advisories/GHSA-f962-qm93-mj4cghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.