Authentication bypass in SilverStripe GraphQL
The advisory, in context
The GraphQL module accepts basic-auth as an authentication method by default. This can be used to bypass MFA authentication if the silverstripe/mfa module is installed, which is now a commonly installed module. A users password is still required though.
Basic-auth has been removed as a default authentication method. If desired, it can be re-enabled by adding it to the authenticators key of a schema, or on SilverStripe\Graphql\Auth\Handler
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 3.0.0 before 3.5.0
Fixed in 3.5.0
29 explicitly affected versions
3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.1.0, 3.1.0-rc1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.2.0, 3.2.0-alpha1, 3.2.0-rc1, 3.2.0-rc2, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.3.0, 3.3.0-beta1, 3.3.0-rc1, 3.4.0, 3.4.0-beta1, 3.4.0-rc1, 3.4.1, 3.5.0-beta1, 3.5.0-rc1
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.5.0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"3.0.0",
"3.0.1",
"3.0.2",
"3.0.3",
"3.0.4",
"3.1.0",
"3.1.0-rc1",
"3.1.1",
"3.1.2",
"3.1.3",
"3.1.4",
"3.1.5",
"3.2.0",
"3.2.0-alpha1",
"3.2.0-rc1",
"3.2.0-rc2",
"3.2.1",
"3.2.2",
"3.2.3",
"3.2.4",
"3.3.0",
"3.3.0-beta1",
"3.3.0-rc1",
"3.4.0",
"3.4.0-beta1",
"3.4.0-rc1",
"3.4.1",
"3.5.0-beta1",
"3.5.0-rc1"
]
}From 4.0.0-alpha1 before 4.0.0-alpha2
Fixed in 4.0.0-alpha2
1 explicitly affected versions
4.0.0-alpha1
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "4.0.0-alpha1"
},
{
"fixed": "4.0.0-alpha2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"4.0.0-alpha1"
]
}References
- https://nvd.nist.gov/vuln/detail/CVE-2020-26136
- https://forum.silverstripe.org/c/releases
- https://github.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/graphql/CVE-2020-26136.yaml
- https://www.silverstripe.org/blog/tag/release
- https://www.silverstripe.org/download/security-releases
- https://www.silverstripe.org/download/security-releases/cve-2020-26136