Concourse login flow has an open redirect issue
cve-program · CVE-2026-49826
PublishedConcourse is a container-based automation system written in Go. Prior to version 8.2.3, an attacker is able to craft and send a user a URL that will redirect the user from the Concourse web server to any other site. This could be used in a phishing attack to steal user's credentials. This has been fixed in 8.2.3. No known workarounds are available.
Read the publisher's advisoryeuvd · EUVD-2026-58716
PublishedConcourse is a container-based automation system written in Go. Prior to version 8.2.3, an attacker is able to craft and send a user a URL that will redirect the user from the Concourse web server to any other site. This could be used in a phishing attack to steal user's credentials. This has been fixed in 8.2.3. No known workarounds are available.
Read the publisher's advisorynvd · CVE-2026-49826
PublishedConcourse is a container-based automation system written in Go. Prior to version 8.2.3, an attacker is able to craft and send a user a URL that will redirect the user from the Concourse web server to any other site. This could be used in a phishing attack to steal user's credentials. This has been fixed in 8.2.3. No known workarounds are available.
Read the publisher's advisoryosv · GHSA-8w27-c4vc-88q9
Published### Impact An attacker is able to craft and send a user a URL that will redirect the user from the Concourse web server to any other site. This could be used in a phishing attack to steal user's credentials. ### Patches This has been fixed in 8.2.3 ### Workarounds None. ### Exploit Vulnerable code was in: https://github.com/concourse/concourse/blob/ea7b812e3a88fdd070f0faece874e8a2d4fbb31c/skymarshal/skyserver/skyserver.go#L162-L170 The issue stems from the underlying processing logic of Go's `url` package. Normally, `ParseRequestURI()` will eventually reach an internal `url.setPath()` function, where the URL will be decoded. However, if `RawPath` is not empty and `validEncoded(RawPath)` is true, and the decoded result equals `Path`, then return `RawPath` as is; otherwise, escape `Path` again, i.e., decode it again. In other words, if the URL contains dangerous characters that should be escaped, such as backslashes (`\`), then an extra decoding step will be performed. Therefore, `/%2Fexample.com` will be parsed as `//example.com`. On vulnerable versions of Concourse, add `/sky/login?redirect_uri=/%252Fexample.com/\` to your Concourse external URL, login as usual, and you should be redirected to `example.com` instead of your Concourse web server. The redirect happens after the login flow completes. No credentials are leaked.
Read the publisher's advisoryosv · GO-2026-5866
PublishedConcourse login flow has an open redirect issue in github.com/concourse/concourse
Read the publisher's advisoryAffected versions, risk and source history
Related advisories and sources
Publishers link these advisories through the identifiers shown below. A shared identifier or date alone does not tell you whether your software is affected or whether the advisories describe the same cause.
CVE-2026-49826 · CVE overview and exploitation status
cve-program · CVE-2026-49826
- https://github.com/concourse/concourse/security/advisories/GHSA-8w27-c4vc-88q9
- https://github.com/concourse/concourse/commit/ac60be5f0435b6592f5a4fcc089050d72ad2452c
- https://github.com/concourse/concourse/releases/tag/v8.2.3
euvd · EUVD-2026-58716
- https://github.com/concourse/concourse/security/advisories/GHSA-8w27-c4vc-88q9
- https://github.com/concourse/concourse/commit/ac60be5f0435b6592f5a4fcc089050d72ad2452c
- https://github.com/concourse/concourse/releases/tag/v8.2.3
nvd · CVE-2026-49826
- https://github.com/concourse/concourse/commit/ac60be5f0435b6592f5a4fcc089050d72ad2452c
- https://github.com/concourse/concourse/releases/tag/v8.2.3
- https://github.com/concourse/concourse/security/advisories/GHSA-8w27-c4vc-88q9
osv · GHSA-8w27-c4vc-88q9
- https://github.com/concourse/concourse/security/advisories/GHSA-8w27-c4vc-88q9
- https://github.com/concourse/concourse/commit/ac60be5f0435b6592f5a4fcc089050d72ad2452c
- https://github.com/concourse/concourse
- https://github.com/concourse/concourse/releases/tag/v8.2.3
osv · GO-2026-5866
Related changes
Linked by CVE identifierNo related changes are available here.