{"id":"GHSA-rfq3-w54c-f9q5","summary":"OAuth2 Redirect URL validity does not respect query parameters and character casing for loopback addresses","details":"### Impact\n\n[fosite#400](https://github.com/ory/fosite/pull/400) (released as v0.30.2) introduced a new feature for handling redirect URLs pointing to loopback interfaces ([rfc8252#section-7.3](https://tools.ietf.org/html/rfc8252#section-7.3)). As part of that change new behavior was introduced which failed to respect the redirect URL's (only for loopback interfaces!) query parameters\n\n1. Registering a client with allowed redirect URL `http://127.0.0.1/callback`\n2. Performing OAuth2 flow and requesting redirect URL `http://127.0.0.1/callback?bar=foo`\n3. Instead of an error, the browser is redirected to `http://127.0.0.1/callback?bar=foo` with a potentially successful OAuth2 response.\n\nas well as the host parameter (as long as the host is a loopback interface):\n\n1. Registering a client with allowed redirect URL `https://example.com/callback`\n2. Performing OAuth2 flow and requesting redirect URL `http://127.0.0.1/callback`\n3. Instead of an error, the browser is redirected to `http://127.0.0.1/callback` with a potentially successful OAuth2 response.\n\nThese bugs are only applicable in scenarios where the attacker has control over the loopback interface (`localhost`, `127.0.0.1`, `[::1]`) where the browser performing the OAuth2 flow is running.","aliases":["CVE-2020-15233"],"modified":"2026-05-07T05:01:17.619848144Z","published":"2021-05-24T17:00:12Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2021-05-21T22:14:38Z","nvd_published_at":"2020-10-02T21:15:00Z","cwe_ids":["CWE-20","CWE-601"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/ory/fosite/security/advisories/GHSA-rfq3-w54c-f9q5"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15233"},{"type":"WEB","url":"https://github.com/ory/fosite/pull/400"},{"type":"WEB","url":"https://github.com/ory/fosite/commit/cdee51ebe721bfc8acca0fd0b86b030ca70867bf"},{"type":"PACKAGE","url":"https://github.com/ory/fosite"}],"affected":[{"package":{"name":"github.com/ory/fosite","ecosystem":"Go","purl":"pkg:golang/github.com/ory/fosite"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.30.3"},{"fixed":"0.34.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/05/GHSA-rfq3-w54c-f9q5/GHSA-rfq3-w54c-f9q5.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N/E:P/RL:O/RC:C"}]}