Affected by GO-2025-4182
and 18 other vulnerabilities
GO-2025-4182 : Coder logs sensitive objects unsanitized in github.com/coder/coder
GO-2026-5897 : Coder vulnerable to workspace auto-creation via crafted URL parameters without user consent in github.com/coder/coder
GO-2026-5906 : Coder: User-admin role can reset owner account password in github.com/coder/coder
GO-2026-5907 : Coder's OIDC email_verified type coercion bypass enables account takeover via unverified email linking in github.com/coder/coder
GO-2026-5908 : Coder vulnerable to OIDC account takeover via email-based user matching and email_verified bypass in github.com/coder/coder
GO-2026-5909 : Coder's workspace app upsert allows cross-workspace agent rebinding via user-controlled app ID in github.com/coder/coder
GO-2026-5911 : Coder's unbounded memory allocation in provisioner file upload allows authenticated denial of service in github.com/coder/coder
GO-2026-5913 : Coder vulnerable to SSH config injection via unsanitized server-supplied values in `coder config-ssh` in github.com/coder/coder
GO-2026-5915 : Coder: Route hijacking through lack of validation of agent-supplied AllowedIPs in tailnet coordinator in github.com/coder/coder
GO-2026-5916 : Coder: Zip upload decompression lacks aggregate size limit, enabling denial of service in github.com/coder/coder
GO-2026-5917 : Coder's subdomain workspace app routing trusts unauthenticated X-Forwarded-Host header, enabling cross-app data access in github.com/coder/coder
GO-2026-5918 : Coder's workspace app CORS origin check can be bypassed via UUID-based subdomain spoofing in github.com/coder/coder
GO-2026-5919 : Coder vulnerable to stored HTML injection via workspace agent logs in AgentLogLine component in github.com/coder/coder
GO-2026-5922 : Coder: Devcontainer recreate endpoint missing write authorization allows read-only roles to destroy containers in github.com/coder/coder
GO-2026-5923 : Coder's workspace agent API insecure redirect handling allowed cross-agent file read and write in github.com/coder/coder
GO-2026-5924 : Coder's session token leaked to arbitrary hosts via `coder open app` for external workspace apps in github.com/coder/coder
GO-2026-5926 : Coder's sub-agent app registration bypasses template port-sharing policy enforcement in github.com/coder/coder
GO-2026-6265 : Coder: Login endpoint user enumeration via timing-defense placeholder in password comparison in github.com/coder/coder
GO-2026-6267 : Coder: Stored HTML injection via unescaped ApplicationName and LogoURL appearance settings in github.com/coder/coder
Discover Packages
github.com/coder/coder/v2
coderd
files
package
Version:
v2.28.1
Opens a new window with list of versions in this module.
Published: Nov 10, 2025
License: AGPL-3.0
Opens a new window with license information.
Imports: 16
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
Documentation
Documentation
¶
Cache persists the files for template versions, and is used by dynamic
parameters to deduplicate the files in memory. When any number of users opens
the workspace creation form for a given template version, it's files are
loaded into memory exactly once. We hold those files until there are no
longer any open connections, and then we remove the value from the map.
New returns a file cache that will fetch files from a database
Acquire will load the fs.FS for the given file. It guarantees that parallel
calls for the same fileID will only result in one fetch, and that parallel
calls for distinct fileIDs will fetch in parallel.
Safety: Every call to Acquire that does not return an error must call close
on the returned value when it is done being used.
Count returns the number of files currently in the cache.
Mainly used for unit testing assertions.
type CacheCloser struct {
}
CacheCloser is a cache wrapper used to close all acquired files.
This is a more simple interface to use if opening multiple files at once.
type CloseFS struct {
fs .FS
}
CloseFS is a wrapper around fs.FS that implements io.Closer. The Close()
method tells the cache to release the fileID. Once all open references are
closed, the file is removed from the cache.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.