GHSA-RFQ3-W54C-F9Q5
Vulnerability from github – Published: 2021-05-24 17:00 – Updated: 2021-11-19 14:42
VLAI?
Summary
OAuth2 Redirect URL validity does not respect query parameters and character casing for loopback addresses
Details
Impact
fosite#400 (released as v0.30.2) introduced a new feature for handling redirect URLs pointing to loopback interfaces (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
- Registering a client with allowed redirect URL
http://127.0.0.1/callback - Performing OAuth2 flow and requesting redirect URL
http://127.0.0.1/callback?bar=foo - Instead of an error, the browser is redirected to
http://127.0.0.1/callback?bar=foowith a potentially successful OAuth2 response.
as well as the host parameter (as long as the host is a loopback interface):
- Registering a client with allowed redirect URL
https://example.com/callback - Performing OAuth2 flow and requesting redirect URL
http://127.0.0.1/callback - Instead of an error, the browser is redirected to
http://127.0.0.1/callbackwith a potentially successful OAuth2 response.
These 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.
Severity ?
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/ory/fosite"
},
"ranges": [
{
"events": [
{
"introduced": "0.30.3"
},
{
"fixed": "0.34.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2020-15233"
],
"database_specific": {
"cwe_ids": [
"CWE-20",
"CWE-601"
],
"github_reviewed": true,
"github_reviewed_at": "2021-05-21T22:14:38Z",
"nvd_published_at": "2020-10-02T21:15:00Z",
"severity": "MODERATE"
},
"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\u0027s (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.",
"id": "GHSA-rfq3-w54c-f9q5",
"modified": "2021-11-19T14:42:56Z",
"published": "2021-05-24T17:00:12Z",
"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"
}
],
"schema_version": "1.4.0",
"severity": [
{
"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",
"type": "CVSS_V3"
}
],
"summary": "OAuth2 Redirect URL validity does not respect query parameters and character casing for loopback addresses"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…