CWE-601
AllowedURL Redirection to Untrusted Site ('Open Redirect')
Abstraction: Base · Status: Draft
The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect.
2306 vulnerabilities reference this CWE, most recent first.
GHSA-RFCX-6P2F-M3VG
Vulnerability from github – Published: 2025-04-21 00:30 – Updated: 2025-04-21 00:30The KnowBe4 Security Awareness Training application before 2020-01-10 contains a redirect function that does not validate the destination URL before redirecting. The response has a SCRIPT element that sets window.location.href to an arbitrary https URL.
{
"affected": [],
"aliases": [
"CVE-2020-36845"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-04-20T22:15:29Z",
"severity": "MODERATE"
},
"details": "The KnowBe4 Security Awareness Training application before 2020-01-10 contains a redirect function that does not validate the destination URL before redirecting. The response has a SCRIPT element that sets window.location.href to an arbitrary https URL.",
"id": "GHSA-rfcx-6p2f-m3vg",
"modified": "2025-04-21T00:30:19Z",
"published": "2025-04-21T00:30:19Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-36845"
},
{
"type": "WEB",
"url": "https://www.doyler.net/security-not-included/knowbe4-vulnerabilities"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-RFH5-C9H5-Q8JM
Vulnerability from github – Published: 2025-10-15 17:56 – Updated: 2025-10-15 19:14Mitigation
Make sure GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN is not set in a production environment. So the following is correct:
assert os.getenv("GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN") is None
Vulnerability Description
Vulnerability Overview
- When the GET /auth-codespace page loads in a GitHub Codespaces environment, it automatically assigns the redirect_to query parameter value directly to client-side links without any validation and triggers automatic clicks. This allows attackers to redirect users to arbitrary external URLs.
- The route is only registered when a Codespaces environment is detected, and the detection is controlled by environment variables. This means that the same behavior can be activated in production if the corresponding environment variable is set.
Vulnerable Code Analysis
https://github.com/reflex-dev/reflex/blob/51f9f2c2f52cac4d66c07683a12bc0237311b6be/reflex/utils/codespaces.py#L18-L46
- This code assigns the redirect_to query parameter directly to a.href without any validation and immediately triggers a click (automatic navigation), allowing users to be sent to arbitrary external domains, resulting in an open redirect vulnerability.
- The execution condition is simply based on the presence of a sessionStorage flag, meaning it triggers immediately on first visits or in incognito/private browsing windows, with no server-side origin/scheme whitelist or internal path enforcement defenses in place.
PoC
PoC Description
- Used the production configuration from docker-example (docker-example/production-compose).
- Added a Codespaces detection environment variable to the app container in compose.yaml to forcibly expose the route.
- GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN: dummy
- The reverse proxy (Caddy) needs to be configured to forward /auth-codespace to the backend (required depending on the environment).
curl Example
https://localhost/auth-codespace?redirect_to=http://google.com
PoC MP4 https://file.notion.so/f/f/d105d145-04bc-45c5-b46c-ed880895e9de/a86c3e3b-f67f-45d1-8fa2-4aa0ba7d0068/poc.mp4?table=block&id=26955717-5d2e-805a-b53c-e25ee03f1d4b&spaceId=d105d145-04bc-45c5-b46c-ed880895e9de&expirationTimestamp=1760508000000&signature=ZPp8PVldfGOh0gB5tVElRV6GN789R-EG0oxZgkFjjLU&downloadName=poc.mp4
Impact
Phishing/Social Engineering Attacks
Users can be exploited by immediately redirecting from a trusted domain to external malicious sites, taking advantage of user trust. This enables login page spoofing, credential harvesting, and redirection to malware distribution pages.
Authentication/Session Flow Disruption
When users with valid sessions/cookies from the same origin click the link, they are redirected to unintended external domains, which can bypass or disrupt authentication/authorization flows. When combined with redirect-based flows like OAuth/OIDC, this can escalate into security incidents.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "reflex"
},
"ranges": [
{
"events": [
{
"introduced": "0.5.4"
},
{
"last_affected": "0.8.14"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-62379"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": true,
"github_reviewed_at": "2025-10-15T17:56:32Z",
"nvd_published_at": "2025-10-15T16:15:36Z",
"severity": "LOW"
},
"details": "### Mitigation\n\nMake sure `GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN` is not set in a production environment. So the following is correct:\n\n```\nassert os.getenv(\"GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN\") is None\n```\n\n### **Vulnerability Description**\n\n---\n\n**Vulnerability Overview**\n \n- When the\u00a0GET\u00a0/auth-codespace page loads in a GitHub Codespaces environment, it automatically assigns the\u00a0redirect_to\u00a0query parameter value directly\u00a0to client-side links without any validation and triggers automatic\u00a0clicks. This\u00a0allows attackers\u00a0to redirect users to arbitrary external URLs.\n- The route is\u00a0only registered when a Codespaces environment\u00a0is detected, and the detection is controlled by environment variables. This\u00a0means that the\u00a0same behavior can be activated in production\u00a0if the corresponding environment\u00a0variable is set.\n\n**Vulnerable\u00a0Code Analysis**\n \n\nhttps://github.com/reflex-dev/reflex/blob/51f9f2c2f52cac4d66c07683a12bc0237311b6be/reflex/utils/codespaces.py#L18-L46\n\n- This code assigns the\u00a0redirect_to\u00a0query parameter\u00a0directly\u00a0to\u00a0a.href\u00a0without any validation and immediately triggers a click\u00a0(automatic navigation), allowing\u00a0users to be sent to arbitrary external domains, resulting\u00a0in an open redirect vulnerability.\n- The\u00a0execution condition is\u00a0simply based\u00a0on\u00a0the presence of a\u00a0sessionStorage\u00a0flag, meaning it\u00a0triggers\u00a0immediately on first\u00a0visits or\u00a0in incognito/private browsing windows, with no\u00a0server-side origin/scheme whitelist or internal path\u00a0enforcement defenses in place.\n\n### PoC\n\n---\n\n**PoC Description**\n \n\n\u003cimg width=\"623\" height=\"497\" alt=\"image\" src=\"https://github.com/user-attachments/assets/55ef4828-09fa-451b-a7cc-8fcaad6a2a21\" /\u003e\n\n\n- Used the production configuration\u00a0from docker-example (docker-example/production-compose).\n- Added a\u00a0Codespaces detection environment\u00a0variable to the app\u00a0container in compose.yaml to forcibly expose the\u00a0route.\n- GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN:\u00a0dummy\n- The\u00a0reverse proxy (Caddy) needs to be configured\u00a0to forward\u00a0/auth-codespace\u00a0to the backend\u00a0(required depending on the environment).\n\n**curl Example**\n\n\n```\nhttps://localhost/auth-codespace?redirect_to=http://google.com\n```\n\n**PoC MP4**\nhttps://file.notion.so/f/f/d105d145-04bc-45c5-b46c-ed880895e9de/a86c3e3b-f67f-45d1-8fa2-4aa0ba7d0068/poc.mp4?table=block\u0026id=26955717-5d2e-805a-b53c-e25ee03f1d4b\u0026spaceId=d105d145-04bc-45c5-b46c-ed880895e9de\u0026expirationTimestamp=1760508000000\u0026signature=ZPp8PVldfGOh0gB5tVElRV6GN789R-EG0oxZgkFjjLU\u0026downloadName=poc.mp4\n\n\u003cimg width=\"1917\" height=\"949\" alt=\"image\" src=\"https://github.com/user-attachments/assets/e565dc4e-a59b-44d4-a92a-ebf128489e88\" /\u003e\n\n\u003cimg width=\"1913\" height=\"977\" alt=\"image\" src=\"https://github.com/user-attachments/assets/496fa585-76ea-4d2d-80f8-0ab79f51229e\" /\u003e\n\n\n\n\n### Impact\n\n---\n\n**Phishing/Social Engineering\u00a0Attacks**\n\n\nUsers can be exploited by immediately redirecting from a trusted domain to external malicious sites, taking advantage of user trust. This enables login page spoofing, credential harvesting, and redirection to malware distribution pages.\n\n**Authentication/Session\u00a0Flow Disruption**\n \n\nWhen users with valid sessions/cookies from the same origin click the link, they are redirected to unintended external domains, which can bypass or disrupt authentication/authorization flows. When combined with redirect-based flows like OAuth/OIDC, this can escalate into security incidents.",
"id": "GHSA-rfh5-c9h5-q8jm",
"modified": "2025-10-15T19:14:33Z",
"published": "2025-10-15T17:56:32Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/reflex-dev/reflex/security/advisories/GHSA-rfh5-c9h5-q8jm"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-62379"
},
{
"type": "WEB",
"url": "https://github.com/reflex-dev/reflex/commit/ade12549f3c0ddab3d7382c581bc04a3c1f989ec"
},
{
"type": "WEB",
"url": "https://file.notion.so/f/f/d105d145-04bc-45c5-b46c-ed880895e9de/a86c3e3b-f67f-45d1-8fa2-4aa0ba7d0068/poc.mp4?table=block\u0026id=26955717-5d2e-805a-b53c-e25ee03f1d4b\u0026spaceId=d105d145-04bc-45c5-b46c-ed880895e9de\u0026expirationTimestamp=1760508000000\u0026signature=ZPp8PVldfGOh0gB5tVElRV6GN789R-EG0oxZgkFjjLU\u0026downloadName=poc.mp4"
},
{
"type": "PACKAGE",
"url": "https://github.com/reflex-dev/reflex"
},
{
"type": "WEB",
"url": "https://github.com/reflex-dev/reflex/blob/51f9f2c2f52cac4d66c07683a12bc0237311b6be/reflex/utils/codespaces.py#L18-L46"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "reflex-dev/reflex has an Open Redirect vulnerability"
}
GHSA-RFHR-62XP-2FP2
Vulnerability from github – Published: 2021-06-08 23:19 – Updated: 2021-05-27 22:38The package trailing-slash before 2.0.1 are vulnerable to Open Redirect via the use of trailing double slashes in the URL when accessing the vulnerable endpoint (such as https://example.com//attacker.example/). The vulnerable code is in index.js::createTrailing(), as the web server uses relative URLs instead of absolute URLs.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "trailing-slash"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.0.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-23387"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": true,
"github_reviewed_at": "2021-05-27T22:38:20Z",
"nvd_published_at": "2021-05-24T19:15:00Z",
"severity": "MODERATE"
},
"details": "The package trailing-slash before 2.0.1 are vulnerable to Open Redirect via the use of trailing double slashes in the URL when accessing the vulnerable endpoint (such as https://example.com//attacker.example/). The vulnerable code is in index.js::createTrailing(), as the web server uses relative URLs instead of absolute URLs.",
"id": "GHSA-rfhr-62xp-2fp2",
"modified": "2021-05-27T22:38:20Z",
"published": "2021-06-08T23:19:21Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-23387"
},
{
"type": "WEB",
"url": "https://github.com/fardog/trailing-slash/commit/f8e66f1429308247e5a119d430203077d8f05048"
},
{
"type": "WEB",
"url": "https://github.com/fardog/trailing-slash/blob/f640ece055fe85275c983de5eb94661b95e35670/index.js%23L36"
},
{
"type": "WEB",
"url": "https://snyk.io/vuln/SNYK-JS-TRAILINGSLASH-1085707"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "Open Redirect in trailing-slash"
}
GHSA-RFQ3-W54C-F9Q5
Vulnerability from github – Published: 2021-05-24 17:00 – Updated: 2021-11-19 14:42Impact
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.
{
"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"
}
GHSA-RG5F-XQFX-H2H3
Vulnerability from github – Published: 2025-08-20 12:31 – Updated: 2025-08-20 12:31The mirror-registry doesn't properly sanitize the host header HTTP header in HTTP request received, allowing an attacker to perform malicious redirects to attacker-controlled domains or phishing campaigns.
{
"affected": [],
"aliases": [
"CVE-2025-7777"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-08-20T12:15:29Z",
"severity": "MODERATE"
},
"details": "The mirror-registry doesn\u0027t properly sanitize the host header HTTP header in HTTP request received, allowing an attacker to perform malicious redirects to attacker-controlled domains or phishing campaigns.",
"id": "GHSA-rg5f-xqfx-h2h3",
"modified": "2025-08-20T12:31:15Z",
"published": "2025-08-20T12:31:15Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-7777"
},
{
"type": "WEB",
"url": "https://access.redhat.com/security/cve/CVE-2025-7777"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2382545"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-RG94-84XJ-7GQ3
Vulnerability from github – Published: 2022-11-15 12:00 – Updated: 2025-04-30 20:25In Apache Airflow versions prior to 2.4.3, there was an open redirect in the webserver's /login endpoint.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "apache-airflow"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.4.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2022-45402"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": true,
"github_reviewed_at": "2022-11-18T16:10:53Z",
"nvd_published_at": "2022-11-15T09:15:00Z",
"severity": "MODERATE"
},
"details": "In Apache Airflow versions prior to 2.4.3, there was an open redirect in the webserver\u0027s `/login` endpoint.",
"id": "GHSA-rg94-84xj-7gq3",
"modified": "2025-04-30T20:25:30Z",
"published": "2022-11-15T12:00:15Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-45402"
},
{
"type": "WEB",
"url": "https://github.com/apache/airflow/pull/27576"
},
{
"type": "WEB",
"url": "https://github.com/apache/airflow/commit/f0f67e8bc9dcb9444cfc5b88ee075191785469b7"
},
{
"type": "PACKAGE",
"url": "https://github.com/apache/airflow"
},
{
"type": "WEB",
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2022-42984.yaml"
},
{
"type": "WEB",
"url": "https://lists.apache.org/thread/nf4xrkoo6c81g6fdn4vj8k9x2686o9nh"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2022/11/15/1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "Apache Airflow Contains Open Redirect"
}
GHSA-RGG4-CQ58-9G4H
Vulnerability from github – Published: 2022-05-24 19:04 – Updated: 2022-05-24 19:04An open redirect vulnerability exists in BF-630, BF-450M, BF-430, BF-431, BF631-W, BF830-W, Webpass, and SEMAC devices from CHIYU Technology that can be exploited by sending a link that has a specially crafted URL to convince the user to click on it.
{
"affected": [],
"aliases": [
"CVE-2021-31252"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-06-04T21:15:00Z",
"severity": "MODERATE"
},
"details": "An open redirect vulnerability exists in BF-630, BF-450M, BF-430, BF-431, BF631-W, BF830-W, Webpass, and SEMAC devices from CHIYU Technology that can be exploited by sending a link that has a specially crafted URL to convince the user to click on it.",
"id": "GHSA-rgg4-cq58-9g4h",
"modified": "2022-05-24T19:04:00Z",
"published": "2022-05-24T19:04:00Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-31252"
},
{
"type": "WEB",
"url": "https://gitbook.seguranca-informatica.pt/cve-and-exploits/cves/chiyu-iot-devices#cve-2021-31252"
},
{
"type": "WEB",
"url": "https://seguranca-informatica.pt/dancing-in-the-iot-chiyu-devices-vulnerable-to-remote-attacks"
},
{
"type": "WEB",
"url": "https://www.chiyu-tech.com/msg/message-Firmware-update-87.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-RHPH-5R83-P3MR
Vulnerability from github – Published: 2022-05-24 16:47 – Updated: 2024-04-04 00:51A Host Header Redirection vulnerability in Fortinet FortiOS all versions below 6.0.5 under SSL VPN web portal allows a remote attacker to potentially poison HTTP cache and subsequently redirect SSL VPN web portal users to arbitrary web domains.
{
"affected": [],
"aliases": [
"CVE-2018-13384"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2019-06-04T21:29:00Z",
"severity": "MODERATE"
},
"details": "A Host Header Redirection vulnerability in Fortinet FortiOS all versions below 6.0.5 under SSL VPN web portal allows a remote attacker to potentially poison HTTP cache and subsequently redirect SSL VPN web portal users to arbitrary web domains.",
"id": "GHSA-rhph-5r83-p3mr",
"modified": "2024-04-04T00:51:17Z",
"published": "2022-05-24T16:47:09Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2018-13384"
},
{
"type": "WEB",
"url": "https://fortiguard.com/advisory/FG-IR-19-002"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-RJ25-5M4J-HCXQ
Vulnerability from github – Published: 2026-07-08 21:30 – Updated: 2026-07-08 21:30Gradio before 6.20.0 contains an open redirect and server-side request forgery vulnerability that allows attackers to redirect users to arbitrary URLs or perform client-side SSRF by supplying unvalidated HTTP/HTTPS URLs to the file_fetch() function in the /gradio_api/file= endpoint. Attackers can craft a malicious FileData response targeting internal endpoints such as cloud metadata services to retrieve sensitive credentials including EC2 IAM role credentials.
{
"affected": [],
"aliases": [
"CVE-2026-59806"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-07-08T20:16:56Z",
"severity": "MODERATE"
},
"details": "Gradio before 6.20.0 contains an open redirect and server-side request forgery vulnerability that allows attackers to redirect users to arbitrary URLs or perform client-side SSRF by supplying unvalidated HTTP/HTTPS URLs to the file_fetch() function in the /gradio_api/file= endpoint. Attackers can craft a malicious FileData response targeting internal endpoints such as cloud metadata services to retrieve sensitive credentials including EC2 IAM role credentials.",
"id": "GHSA-rj25-5m4j-hcxq",
"modified": "2026-07-08T21:30:29Z",
"published": "2026-07-08T21:30:29Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-59806"
},
{
"type": "WEB",
"url": "https://github.com/gradio-app/gradio/issues/13593"
},
{
"type": "WEB",
"url": "https://github.com/gradio-app/gradio/pull/13596"
},
{
"type": "WEB",
"url": "https://github.com/gradio-app/gradio/commit/1c5c53842df9c2750552d85c19a92e7e732cff3f"
},
{
"type": "WEB",
"url": "https://github.com/gradio-app/gradio/releases/tag/gradio%406.20.0"
},
{
"type": "WEB",
"url": "https://www.vulncheck.com/advisories/gradio-open-redirect-and-ssrf-via-gradio-api-file-endpoint"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-RJ9P-XQ4C-X38F
Vulnerability from github – Published: 2022-05-17 03:35 – Updated: 2022-05-17 03:35Open redirect vulnerability in IBM FileNet Workplace 4.0.2 through 4.0.2.14 IF001 allows remote authenticated users to redirect users to arbitrary web sites and conduct phishing attacks via unspecified vectors.
{
"affected": [],
"aliases": [
"CVE-2016-3047"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2016-12-01T11:59:00Z",
"severity": "MODERATE"
},
"details": "Open redirect vulnerability in IBM FileNet Workplace 4.0.2 through 4.0.2.14 IF001 allows remote authenticated users to redirect users to arbitrary web sites and conduct phishing attacks via unspecified vectors.",
"id": "GHSA-rj9p-xq4c-x38f",
"modified": "2022-05-17T03:35:36Z",
"published": "2022-05-17T03:35:36Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2016-3047"
},
{
"type": "WEB",
"url": "http://www-01.ibm.com/support/docview.wss?uid=swg21987126"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N",
"type": "CVSS_V3"
}
]
}
Mitigation MIT-5
Strategy: Input Validation
- Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
- When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
- Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
- Use a list of approved URLs or domains to be used for redirection.
Mitigation
Use an intermediate disclaimer page that provides the user with a clear warning that they are leaving the current site. Implement a long timeout before the redirect occurs, or force the user to click on the link. Be careful to avoid XSS problems (CWE-79) when generating the disclaimer page.
Mitigation MIT-21.2
Strategy: Enforcement by Conversion
- When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs.
- For example, ID 1 could map to "/login.asp" and ID 2 could map to "http://www.example.com/". Features such as the ESAPI AccessReferenceMap [REF-45] provide this capability.
Mitigation
Ensure that no externally-supplied requests are honored by requiring that all redirect requests include a unique nonce generated by the application [REF-483]. Be sure that the nonce is not predictable (CWE-330).
Mitigation MIT-6
Strategy: Attack Surface Reduction
- Understand all the potential areas where untrusted inputs can enter your software: parameters or arguments, cookies, anything read from the network, environment variables, reverse DNS lookups, query results, request headers, URL components, e-mail, files, filenames, databases, and any external systems that provide data to the application. Remember that such inputs may be obtained indirectly through API calls.
- Many open redirect problems occur because the programmer assumed that certain inputs could not be modified, such as cookies and hidden form fields.
Mitigation MIT-29
Strategy: Firewall
Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].
CAPEC-178: Cross-Site Flashing
An attacker is able to trick the victim into executing a Flash document that passes commands or calls to a Flash player browser plugin, allowing the attacker to exploit native Flash functionality in the client browser. This attack pattern occurs where an attacker can provide a crafted link to a Flash document (SWF file) which, when followed, will cause additional malicious instructions to be executed. The attacker does not need to serve or control the Flash document. The attack takes advantage of the fact that Flash files can reference external URLs. If variables that serve as URLs that the Flash application references can be controlled through parameters, then by creating a link that includes values for those parameters, an attacker can cause arbitrary content to be referenced and possibly executed by the targeted Flash application.