GitHub Advisoryadvisory · Go
GHSA-xxhq-69mf-w8cr Gogs has an Open Redirect via redirect_to
MEDIUM
Official page ↗
- Aliases
- CVE-2026-52802
- Ecosystem
- Go
- Packages
- gogs.io/gogs
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
- Weaknesses
- CWE-601
- Reviewed
- 2026-06-23
Affected packages
• Go gogs.io/gogs: < 0.14.3 → fixed in 0.14.3
Description
Summary
An open redirect vulnerability exists in Gogs where attacker-controlled `redirect_to` parameters can bypass validation, allowing redirection to arbitrary external sites.
Details
All redirects in Gogs that are validated via the `IsSameSite` function are vulnerable:
```go
func IsSameSite(url string) bool {
return len(url) >= 2 && url[0] == '/' && url[1] != '/' && url[1] != '\\'
}
```
The function only inspects the first two characters of the URL string. This check fails to account for directory traversal sequences followed by backslashes. For example:
```
/a/../\example.com
```
The `IsSameSite` function checks the input supplied to the `redirect_to` query parameter value `/a/../\example.com` and considers it valid.
Because web browsers normalize backslashes `\` to forward slashes `/`, the normalized URL becomes `//example.com`.
The normalized URL becomes:
```
//example.com
```
Resulting in a cross-origin redirect.
This affects all endpoints using the `redirect_to` query parameter, including login and other post-action flows.
PoC
1. An attacker can provide a user with a link to login to Gogs with a `redirect_to` query parameter that redirects a user to a site the attacker wants them to visit:
```
http://192.168.236.132:3000/user/login?redirect_to=/a/../\example.com
```
2. After the user successfully logs in, they would be redirected to the site an attacker wants them to visit:
Impact
• Phishing: Attackers can use trusted domain links to redirect victims to credential-harvesting pages
• OAuth/SSO Token Theft: In authentication flows, authorization codes or tokens may leak via redirect
• Referer Leakage: Sensitive URL parameters may be exposed to attacker domains via the Referer header
• Cache Poisoning: In deployments with shared caches, malicious redirects may be cached and served to other users
Related
Alias · CVE (1)
- CVE-2026-52802 Gogs is an open source self-hosted Git service. vulnerability
Weakness · CWE (1)
- CWE-601 URL Redirection to Untrusted Site weakness
References
- https://github.com/gogs/gogs/security/advisories/GHSA-xxhq-69mf-w8cr web
- https://nvd.nist.gov/vuln/detail/CVE-2026-52802 advisory
- https://github.com/gogs/gogs/pull/8322 web
- https://github.com/gogs/gogs/commit/c5da9631dc75f692f313373ae229c4d47ba6517f web
- https://github.com/gogs/gogs package
- https://github.com/gogs/gogs/releases/tag/v0.14.3 web