Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft backslash redirect URL on trusted Gogs domain
-
DeliveryDeliver link to victim via phishing
-
ExploitBypass IsSameSite normalization check
-
ExecutionBrowser resolves Location as external URL
-
ImpactVictim lands on attacker-controlled site
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that a victim click an attacker-crafted link pointing at the /redirect endpoint (or another post-action redirect flow) on a trusted Gogs instance running a version prior to 0.15.0+dev. The specific trigger is a backslash (literal '\', or percent-encoded %5C/%5c) or whitespace (tab/CR/LF) in the redirect target, which the pre-patch internal/urlx/urlx.go IsSameSite normalizes away while cmd/gogs/internal/web/web.go getRedirect emits the original raw value in the Location header. No authentication is needed (PR:N), and no special server configuration is required since /redirect is reachable by default. The principal limiting factor is user interaction (UI:P): the attack is pure social-engineering/phishing and cannot redirect a victim who does not click the malicious link; it also yields no access to the Gogs server itself. |
| Impact | This is a genuine but modest-severity issue, correctly rated medium (CVSS 4.0 base 5.3). The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) shows a network-reachable, low-complexity flaw requiring no privileges, consistent with the description's 'unauthenticated attacker' and the /redirect endpoint being pre-auth. The impact metrics tell the real story: no impact to the vulnerable Gogs system itself (VC:N/VI:N/VA:N) and only low confidentiality/integrity impact on a subsequent system (SC:L/SI:L) - i.e., the victim's browser/session, which is exactly what an open redirect (CWE-601) does. Crucially, UI:P (passive user interaction) means a victim must click an attacker-supplied link on the trusted Gogs domain, so this is not self-propagating. No EPSS score, no CISA KEV listing, and no public POC were supplied; per precision rules this is 'no public exploit identified at time of analysis.' No SSVC decision data was provided. Bottom line: a legitimate phishing-enablement bug worth patching, but not an urgent priority - it grants no code execution, no data access on the server, and depends on social engineering. There are no conflicting signals: the CVSS vector, description, and patch evidence all align. |
| Exploit ScenarioDerived | An attacker crafts a URL such as https://trusted-gogs.example.com/redirect?... with a backslash-containing target that IsSameSite normalizes as same-site but the Location header emits verbatim; a victim who already trusts the Gogs domain clicks it and the browser interprets the raw value as a scheme-relative external URL, landing them on an attacker-controlled phishing page. No public POC was provided, but the GitHub security advisory and patch diff fully describe the normalization-mismatch technique. Because UI:P/AC:L apply, exploitation is easy but hinges on the victim clicking the crafted link. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Gogs (self-hosted Git service) prior to 0.15.0+dev contains an open redirect in the /redirect endpoint and other post-action redirect flows that allows unauthenticated attackers to send victims to arbitrary external sites from a trusted Gogs domain. The flaw arises because internal/urlx/urlx.go IsSameSite evaluates a normalized copy of the redirect target while cmd/gogs/internal/web/web.go getRedirect and similar callers emit the original, unnormalized value in the Location header; a literal backslash ('\'), a percent-encoded backslash (%5C/%5c), or embedded tab/CR/LF causes browsers to resolve the emitted value as a scheme-relative external URL. Per the independent assessment the issue is medium severity (CVSS 4.0 base 5.3; CVSS 3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N), requires victim interaction (a click on a crafted link), and grants no access to the Gogs server itself; no public exploit code has been identified at time of analysis and the CVE is not in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to Gogs 0.15.0+dev or later, which contains the fix from commit 0aa820e6d572771551871c0b5f5f32dffc565e3e (PR #8391) and rejects any redirect target containing '\', tab, CR, LF, '%5C', or '%5c' outright; details are in the GitHub advisory GHSA-3g28-2vwg-gxq6 (https://github.com/gogs/gogs/security/advisories/GHSA-3g28-2vwg-gxq6). If upgrading immediately is not possible, deploy compensating controls: place a reverse proxy or WAF in front of Gogs that inspects the 'target' (and equivalent) query parameter on /redirect and any post-action redirect routes and rejects or strips requests where the value contains a literal backslash, the percent-encoded forms %5C/%5c, or embedded tab (%09), CR (%0D), or LF (%0A) - the trade-off is that the patched code itself fails closed on these characters, so legitimate targets containing them are already unsupported and blocking them introduces no functional regression beyond pre-existing behavior. Additionally, configure the proxy to validate that emitted Location headers remain on the Gogs host (rewrite or drop any off-host Location), which neutralizes the redirect even if a bypass is found, at the cost of potentially interfering with intentional external redirects such as OAuth or SSO callbacks. Because exploitation is purely click-driven phishing (UI:P), pair technical controls with user-facing restrictions: disable custom external redirect targets where the configuration allows, ensure email and chat clients display full link URLs, and warn administrators and users that links beginning with the trusted Gogs domain can still land on attacker-controlled content on unpatched instances. No public exploit code was identified at time of analysis, so emergency response is not required, but the fix is a small, self-contained change and should be scheduled in the next maintenance window.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-601 (URL Redirection to Untrusted Site / open redirect) created by a canonicalization mismatch between validation and output. Gogs' internal/urlx/urlx.go IsSameSite previously applied strings.NewReplacer to convert backslashes to forward slashes and to strip tab, CR, and LF characters before checking that the target started with '/' and did not contain '//' - so inputs such as '/path\segment' or '/\texample.com' were classified as same-site. The caller in cmd/gogs/internal/web/web.go getRedirect (and other post-action redirect flows) then wrote the original, raw value into the Location response header rather than the normalized one. Because browsers normalize backslashes to forward slashes when processing Location headers and strip tab/CR/LF before URL resolution, a value like '/\evil.example.com' is interpreted by the browser as the scheme-relative URL '//evil.example.com' and resolved against the Gogs host's scheme, producing an off-site navigation originating from the trusted Gogs origin. The fix (commit 0aa820e6d572771551871c0b5f5f32dffc565e3e, PR #8391) changes IsSameSite to fail closed: any occurrence of '\', tab, CR, LF, '%5C', or '%5c' immediately returns false and no normalization is performed, with tests updated to expect '/path\segment' and '/\texample.com' to be rejected. This is a client-side/redirect trust issue confined to the HTTP response; the affected component is the Go web layer (cmd/gogs/internal/web/web.go) plus the URL helper package (internal/urlx/urlx.go). No specific CPE strings were supplied in the intelligence data, so affected scope is identified by product and version range rather than CPE.
Know when Open Redirect gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Pre-auth network endpoint (AV:N/PR:N), trivially crafted URL (AC:L), but needs victim click (UI:R); impact lands on the victim's browser not the server, so scope-changed (S:C) with limited C/I from phishing.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
Gogs is an open source self-hosted Git service. Prior to 0.15.0+dev, an unauthenticated attacker can provide a backslash-containing target to the /redirect endpoint, and similar post-action redirect flows are also affected. internal/urlx/urlx.go IsSameSite validates a normalized form of the target while cmd/gogs/internal/web/web.go getRedirect and other callers use the original value in the Location response. This backslash normalization mismatch lets browsers interpret the Location value as a scheme-relative external URL, allowing links on a trusted Gogs domain to redirect victims to attacker-controlled content for phishing. This vulnerability is fixed in 0.15.0+dev.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
More in Open Redirect
View allA malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL ca
GFI Kerio Control versions 9.2.5 through 9.4.5 contain an HTTP response splitting vulnerability in the dest parameter of
PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect
Multiple open redirect vulnerabilities in Apache Struts 2.0.0 through 2.3.15 allow remote attackers to redirect users to
When the default servlet in Apache Tomcat versions 9.0.0.M1 to 9.0.11, 8.5.0 to 8.5.33 and 7.0.23 to 7.0.90 returned a r
Open redirect vulnerability in age-verification.php in the Age Verification plugin 0.4 and earlier for WordPress allows
Open redirect vulnerability in Kaseya Virtual System Administrator (VSA) 7.x before 7.0.0.29, 8.x before 8.0.0.18, 9.0 b
Vulnerability in the Oracle Applications Framework component of Oracle E-Business Suite (subcomponent: Popup windows (li
Unspecified vulnerability in the Oracle Application Server Single Sign-On component in Oracle Fusion Middleware 10.1.4.3
Flarum is open source discussion platform software. Rated medium severity (CVSS 6.5), this vulnerability is remotely exp
Open redirect vulnerability in Novius OS 5.0.1 (Elche) allows remote attackers to redirect users to arbitrary web sites
Open redirect vulnerability in the Redirect function in stageshow_redirect.php in the StageShow plugin before 5.0.9 for
EUVD-2026-101576
NVD
CVE.org
EPSS
GitHub
Exploit-DB