Miggo Logo

CVE-2017-1000163: Phoenix Arbitrary URL Redirect

6.1

CVSS Score
3.0

Basic Information

EPSS Score
0.81931%
Published
4/12/2022
Updated
9/7/2023
KEV Status
No
Technology
TechnologyErlang

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
phoenixerlang< 1.0.61.0.6
phoenixerlang>= 1.1.0, < 1.1.81.1.8
phoenixerlang>= 1.2.0, < 1.2.31.2.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability directly stems from Phoenix.Controller.redirect/2's handling of the :to parameter, as explicitly stated in the advisory. The function's security boundary between local (:to) and external (:external) redirects was bypassable via newline injection. The temporary fix provided in the Elixir forum post specifically overrides this function to add newline detection, confirming its central role in the vulnerability. The file path is standard for Phoenix's controller implementation.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

T** P*o*nix t**m **si*n** `P*o*nix.*ontroll*r.r**ir**t/*` to prot**t ***inst r**ir**ts *llowin* us*r input to r**ir**t to *n *xt*rn*l URL w**r* your *ppli**tion *o** ot**rwis* *ssum*s * lo**l p*t* r**ir**t. T*is is w*y t** `:to` option is us** *or “l

Reasoning

T** vuln*r**ility *ir**tly st*ms *rom `P*o*nix.*ontroll*r.r**ir**t/*`'s **n*lin* o* t** :to p*r*m*t*r, *s *xpli*itly st*t** in t** **visory. T** *un*tion's s**urity *oun**ry **tw**n lo**l (:to) *n* *xt*rn*l (:*xt*rn*l) r**ir**ts w*s *yp*ss**l* vi* n*