Laravel does not properly constrain the host portion of a password-reset URL
Laravel 5.4.x before 5.4.22 does not properly constrain the host portion of a password-reset URL, which makes it easier for remote attackers to conduct phishing attacks by specifying an attacker-controlled host.
As published by the sources
Affected packages
- illuminate/authAffected
>=5.3.0,<=5.3.31 || >=5.4.0,<5.4.22Fixed in5.4.22 - Affected
>=5.3.0,<=5.3.31 || >=5.4.0,<5.4.22Fixed in5.4.22 - Affected
>=5.4.0,<5.4.22Fixed in5.4.22
Derived from the fixed versions above
What to do
Upgrade illuminate/auth to 5.4.22 or later.
composer update illuminate/auth --with-dependenciesUpgrade laravel/framework to 5.4.22 or later.
composer update laravel/framework --with-dependenciesUpgrade laravel/laravel to 5.4.22 or later.
composer update laravel/laravel --with-dependencies
To see which version you have installed, run composer show vendor/package. Running composer audit lists the known advisories that match your installed versions.
Quoted from the original advisory
Details
Laravel 5.4.x before 5.4.22 does not properly constrain the host portion of a password-reset URL, which makes it easier for remote attackers to conduct phishing attacks by specifying an attacker-controlled host.
References
- Advisoryhttps://laravel.com/docs/5.4/releases#laravel-5.4.22
- Advisoryhttps://github.com/advisories/GHSA-rc8x-jrrc-frfv
- Advisoryhttps://nvd.nist.gov/vuln/detail/CVE-2017-9303
- Webhttps://github.com/laravel/framework/commit/cef10551820530632a86fa6f1306fee95c5cac43
- Webhttps://github.com/FriendsOfPHP/security-advisories/blob/master/illuminate/auth/CVE-2017-9303.yaml
- Webhttps://github.com/FriendsOfPHP/security-advisories/blob/master/laravel/framework/CVE-2017-9303.yaml
- Webhttps://laravel-news.com/laravel-5-4-22-is-now-released-and-includes-a-security-fix
- Webhttps://web.archive.org/web/20171021180417/http://www.securityfocus.com/bid/98776
- Webhttp://www.securityfocus.com/bid/98776