Silverstripe SiteTree Creation Permission Vulnerability
The advisory, in context
A vulnerability exists in the permission validation for SiteTree object creation. By default user permissions are not validated by the SiteTree::canCreate method, unless overridden by user code or via the configuration system.
This vulnerability will allow users, or unauthenticated guests, to create new SiteTree objects in the database. This vulnerability is present when such users are given CMS access via other means, or if there is another mechanism (such as RestfulServer module) which allows model editing and relies on model-level permission checks.
This vulnerability is restricted to the creation of draft or live pages, and does not allow users to edit, publish, or unpublish existing pages.
All users should upgrade as soon as possible.
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.0.12
Fixed in 3.0.12
18 explicitly affected versions
3.0.10, 3.0.10-rc1, 3.0.11, 3.0.11-rc1, 3.0.2.1, 3.0.3, 3.0.3-rc1, 3.0.3-rc2, 3.0.4, 3.0.5, 3.0.6, 3.0.6-rc1, 3.0.6-rc2, 3.0.7, 3.0.7-rc1, 3.0.8, 3.0.9, 3.0.9-rc1
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.0.12"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"3.0.10",
"3.0.10-rc1",
"3.0.11",
"3.0.11-rc1",
"3.0.2.1",
"3.0.3",
"3.0.3-rc1",
"3.0.3-rc2",
"3.0.4",
"3.0.5",
"3.0.6",
"3.0.6-rc1",
"3.0.6-rc2",
"3.0.7",
"3.0.7-rc1",
"3.0.8",
"3.0.9",
"3.0.9-rc1"
]
}From 3.1.0 before 3.1.11
Fixed in 3.1.11
24 explicitly affected versions
3.1.0, 3.1.1, 3.1.10, 3.1.10-rc1, 3.1.10-rc2, 3.1.11-rc1, 3.1.2, 3.1.2-rc1, 3.1.3, 3.1.3-rc1, 3.1.3-rc2, 3.1.4, 3.1.4-rc1, 3.1.5, 3.1.5-rc1, 3.1.6, 3.1.6-rc1, 3.1.6-rc2, 3.1.6-rc3, 3.1.7, 3.1.7-rc1, 3.1.8, 3.1.9, 3.1.9-rc1
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "3.1.0"
},
{
"fixed": "3.1.11"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"3.1.0",
"3.1.1",
"3.1.10",
"3.1.10-rc1",
"3.1.10-rc2",
"3.1.11-rc1",
"3.1.2",
"3.1.2-rc1",
"3.1.3",
"3.1.3-rc1",
"3.1.3-rc2",
"3.1.4",
"3.1.4-rc1",
"3.1.5",
"3.1.5-rc1",
"3.1.6",
"3.1.6-rc1",
"3.1.6-rc2",
"3.1.6-rc3",
"3.1.7",
"3.1.7-rc1",
"3.1.8",
"3.1.9",
"3.1.9-rc1"
]
}References
- https://github.com/silverstripe/silverstripe-cms/commit/3df41e1176385215f15fffb04fcba033a5151fb4
- https://github.com/silverstripe/silverstripe-cms/commit/64955e57d1239975183f47d3ac8c3e801ddbf122
- https://github.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/cms/SS-2015-008-1.yaml
- https://github.com/silverstripe/silverstripe-cms
- https://www.silverstripe.org/software/download/security-releases/ss-2015-008-sitetree-creation-permission-vulnerability