VYPR
Moderate severityNVD Advisory· Published Mar 16, 2023· Updated Feb 25, 2025

Play With Docker vulnerable to Authorization Bypass Through User-Controlled Key

CVE-2023-28109

Description

Play With Docker is a browser-based Docker playground. Versions 0.0.2 and prior are vulnerable to domain hijacking. Because CORS configuration was not correct, an attacker could use play-with-docker.com as an example and set the origin header in an http request as evil-play-with-docker.com. The domain would echo in response header, which successfully bypassed the CORS policy and retrieved basic user information. This issue has been fixed in commit ed82247c9ab7990ad76ec2bf1498c2b2830b6f1a. There are no known workarounds.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
github.com/play-with-docker/play-with-dockerGo
<= 0.0.2

Affected products

1

Patches

1
ed82247c9ab7

fix CORS origins to avoid domain hijacking

https://github.com/play-with-docker/play-with-dockerMarcos LilljedahlMar 2, 2023via ghsa
1 file changed · +4 4
  • handlers/bootstrap.go+4 4 modified
    @@ -70,10 +70,10 @@ func Register(extend HandlerExtender) {
     
     	corsHandler := gh.CORS(gh.AllowCredentials(), gh.AllowedHeaders([]string{"x-requested-with", "content-type"}), gh.AllowedMethods([]string{"GET", "POST", "HEAD", "DELETE"}), gh.AllowedOriginValidator(func(origin string) bool {
     		if strings.Contains(origin, "localhost") ||
    -			strings.HasSuffix(origin, "play-with-docker.com") ||
    -			strings.HasSuffix(origin, "play-with-kubernetes.com") ||
    -			strings.HasSuffix(origin, "docker.com") ||
    -			strings.HasSuffix(origin, "play-with-go.dev") {
    +			strings.HasSuffix(origin, ".play-with-docker.com") ||
    +			strings.HasSuffix(origin, ".play-with-kubernetes.com") ||
    +			strings.HasSuffix(origin, ".docker.com") ||
    +			strings.HasSuffix(origin, ".play-with-go.dev") {
     			return true
     		}
     		return false
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.