Laravel does not properly constrain the host portion of a password-reset URL
The advisory, in context
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.
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
From 5.4.0 before 5.4.22
Fixed in 5.4.22
7 explicitly affected versions
v5.4.0, v5.4.15, v5.4.16, v5.4.19, v5.4.21, v5.4.3, v5.4.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "5.4.0"
},
{
"fixed": "5.4.22"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v5.4.0",
"v5.4.15",
"v5.4.16",
"v5.4.19",
"v5.4.21",
"v5.4.3",
"v5.4.9"
]
}From 5.3.0 through 5.3.31 (inclusive)
No fix recorded for this interval.
4 explicitly affected versions
v5.3.0, v5.3.16, v5.3.23, v5.3.4
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "5.3.0"
},
{
"last_affected": "5.3.31"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v5.3.0",
"v5.3.16",
"v5.3.23",
"v5.3.4"
]
}From 5.4.0 before 5.4.22
Fixed in 5.4.22
5 explicitly affected versions
v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "5.4.0"
},
{
"fixed": "5.4.22"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v5.4.0",
"v5.4.13",
"v5.4.17",
"v5.4.19",
"v5.4.9"
]
}From 5.3.0 through 5.3.31 (inclusive)
No fix recorded for this interval.
32 explicitly affected versions
v5.3.0, v5.3.1, v5.3.10, v5.3.11, v5.3.12, v5.3.13, v5.3.14, v5.3.15, v5.3.16, v5.3.17, v5.3.18, v5.3.19, v5.3.2, v5.3.20, v5.3.21, v5.3.22, v5.3.23, v5.3.24, v5.3.25, v5.3.26, v5.3.27, v5.3.28, v5.3.29, v5.3.3, v5.3.30, v5.3.31, v5.3.4, v5.3.5, v5.3.6, v5.3.7, v5.3.8, v5.3.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "5.3.0"
},
{
"last_affected": "5.3.31"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v5.3.0",
"v5.3.1",
"v5.3.10",
"v5.3.11",
"v5.3.12",
"v5.3.13",
"v5.3.14",
"v5.3.15",
"v5.3.16",
"v5.3.17",
"v5.3.18",
"v5.3.19",
"v5.3.2",
"v5.3.20",
"v5.3.21",
"v5.3.22",
"v5.3.23",
"v5.3.24",
"v5.3.25",
"v5.3.26",
"v5.3.27",
"v5.3.28",
"v5.3.29",
"v5.3.3",
"v5.3.30",
"v5.3.31",
"v5.3.4",
"v5.3.5",
"v5.3.6",
"v5.3.7",
"v5.3.8",
"v5.3.9"
]
}From 5.4.0 before 5.4.22
Fixed in 5.4.22
22 explicitly affected versions
v5.4.0, v5.4.1, v5.4.10, v5.4.11, v5.4.12, v5.4.13, v5.4.14, v5.4.15, v5.4.16, v5.4.17, v5.4.18, v5.4.19, v5.4.2, v5.4.20, v5.4.21, v5.4.3, v5.4.4, v5.4.5, v5.4.6, v5.4.7, v5.4.8, v5.4.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "5.4.0"
},
{
"fixed": "5.4.22"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v5.4.0",
"v5.4.1",
"v5.4.10",
"v5.4.11",
"v5.4.12",
"v5.4.13",
"v5.4.14",
"v5.4.15",
"v5.4.16",
"v5.4.17",
"v5.4.18",
"v5.4.19",
"v5.4.2",
"v5.4.20",
"v5.4.21",
"v5.4.3",
"v5.4.4",
"v5.4.5",
"v5.4.6",
"v5.4.7",
"v5.4.8",
"v5.4.9"
]
}References
- https://nvd.nist.gov/vuln/detail/CVE-2017-9303
- https://github.com/laravel/framework/commit/cef10551820530632a86fa6f1306fee95c5cac43
- https://github.com/FriendsOfPHP/security-advisories/blob/master/illuminate/auth/CVE-2017-9303.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/laravel/framework/CVE-2017-9303.yaml
- https://laravel-news.com/laravel-5-4-22-is-now-released-and-includes-a-security-fix
- https://laravel.com/docs/5.4/releases#laravel-5.4.22
- https://web.archive.org/web/20171021180417/http://www.securityfocus.com/bid/98776
- http://www.securityfocus.com/bid/98776