Coder CVE-2026-55079
MEDIUMSeverity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Network-reachable but exploitation requires high-privilege provisioner daemon credentials; impact is pure availability with no confidentiality or integrity consequence.
Primary rating from Vendor (https://github.com/coder/coder).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
Summary
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
Impact
An authenticated user able to reach the provisioner daemon serve endpoint could send a roughly 50-byte message declaring a huge FileSize (for example 1 TiB), triggering an unrecoverable Go out-of-memory abort that terminates coderd. This is a single-message denial of service affecting the entire deployment.
Patches
The fix validates FileSize against an upper bound (MaxFileSize = 100 MiB) before allocation.
The fix was backported to all supported release lines:
Workarounds
Restrict access to the provisioner daemon serve endpoint to trusted provisioner daemon service accounts.
Resources
- Fix: #25710
Credits
Coder would like to thank Anthropic's Security Team (ANT-2026-22442) for independently disclosing this issue!
AnalysisAI
Uncontrolled memory allocation in Coder's provisioner daemon allows an authenticated user to crash the entire coderd deployment with a single ~50-byte network message. The vulnerability exists in the NewDataBuilder function within provisionersdk/proto/dataupload.go, which blindly allocates a byte slice using a client-supplied FileSize field from a DataUpload DRPC message, with no upper-bound validation. By declaring a massive FileSize value such as 1 TiB, an attacker with provisioner daemon credentials can trigger a Go runtime out-of-memory abort, terminating coderd and denying service to all users of the deployment. No public exploit code has been identified and this vulnerability is not listed in CISA KEV at time of analysis.
Technical ContextAI
The affected component is the provisionersdk Go package within the Coder remote development platform (CPE: pkg:go/github.com_coder_coder_v2), specifically the NewDataBuilder function in provisionersdk/proto/dataupload.go. Coder uses DRPC (a lightweight RPC framework) for communication with its provisioner daemon, which manages infrastructure provisioning for developer workspaces. The DataUpload DRPC message type includes a FileSize field that is intended to pre-declare the size of a file transfer so the receiver can pre-allocate a buffer. The root cause, classified as CWE-789 (Uncontrolled Memory Allocation), is that NewDataBuilder uses this client-supplied FileSize directly in a Go byte slice allocation (make([]byte, FileSize)) without validating it against any maximum. Although the DRPC wire protocol enforces a 4 MiB message body limit, this limit applies to the actual bytes on the wire - it does not constrain the integer value declared in the FileSize field of the message payload. The fix introduces a MaxFileSize constant of 100 MiB and validates the declared size before allocation, rejecting values that exceed the bound.
RemediationAI
Upgrade to a patched release: v2.34.2 for the 2.34 release line, v2.33.8 for the 2.33 line, v2.32.7 for the 2.32 line, or v2.29.17 for the 2.29 ESR line. Release artifacts are available at https://github.com/coder/coder/releases. The fix (PR #25710: https://github.com/coder/coder/pull/25710) introduces a MaxFileSize bound of 100 MiB validated before any allocation occurs in NewDataBuilder. For deployments that cannot immediately upgrade, the vendor-recommended workaround is to restrict access to the provisioner daemon serve endpoint exclusively to trusted provisioner daemon service accounts - this prevents arbitrary authenticated users from reaching the vulnerable code path. This workaround has the trade-off of requiring careful network-level or authentication-level access controls and does not eliminate the underlying flaw, making it a temporary compensating measure rather than a permanent fix. The GitHub advisory at GHSA-f962-qm93-mj4c should be consulted for any updated guidance.
Same technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-f962-qm93-mj4c