GitHub Advisoryadvisory · Hex

GHSA-cmfh-8f8r-fj96 Phoenix Arbitrary URL Redirect

MEDIUM Published 2022-04-12 Modified 2023-09-07 Official page ↗
Aliases
CVE-2017-1000163
Ecosystem
Hex
Packages
phoenix
Severity
Moderate
CVSS vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weaknesses
CWE-601
Reviewed
2022-04-12

Affected packages

• Hex phoenix: < 1.0.6 → fixed in 1.0.6 • Hex phoenix: >= 1.1.0, < 1.1.8 → fixed in 1.1.8 • Hex phoenix: >= 1.2.0, < 1.2.3 → fixed in 1.2.3

Description

The Phoenix team designed `Phoenix.Controller.redirect/2` to protect against redirects allowing user input to redirect to an external URL where your application code otherwise assumes a local path redirect. This is why the `:to` option is used for “local” URL redirects and why you must pass the `:external` option to intentionally allow external URLs to be redirected to. It has been disclosed that carefully crafted user input may be treated by some browsers as an external URL. An attacker can use this vulnerability to aid in social engineering attacks. The most common use would be to create highly believable phishing attacks. For example, the following user input would pass local URL validation, but be treated by Chrome and Firefox as external URLs: `http://localhost:4000/?redirect=/\nexample.com` Not all browsers are affected, but latest Chrome and Firefox will issue a get request for `example.com` and successfully redirect externally

Related

Alias · CVE (1)

  • CVE-2017-1000163 The Phoenix Framework versions 1.0.0 through 1.0.4, 1.1.0 through 1.1.6, 1.2.0, 1.2.2 and 1.3.0-rc.0 are vulnerable to unvalidated URL… vulnerability

Weakness · CWE (1)

  • CWE-601 URL Redirection to Untrusted Site weakness

References