Silverstripe XSS In rewritten hash links
The advisory, in context
A high level XSS vulnerability has been discovered in the SilverStripe framework which causes links containing hash anchors (E.g. href="#anchor") to be rewritten in an unsafe way.
The rewriteHashlinks option on SSViewer will rewrite these to contain the current url, although without adequate escaping, meaning that HTML could be injected via injecting unsafe values to any page via the querystring.
Due to the nature of this issue it is likely that a large number of SilverStripe sites are affected.
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.
Earlier releases before 3.0.13
Fixed in 3.0.13
25 explicitly affected versions
2.4.10, 2.4.11, 2.4.12, 2.4.13, 2.4.9, 2.5.0, 3.0.10, 3.0.10-rc1, 3.0.11, 3.0.11-rc1, 3.0.12, 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": "0"
},
{
"fixed": "3.0.13"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"2.4.10",
"2.4.11",
"2.4.12",
"2.4.13",
"2.4.9",
"2.5.0",
"3.0.10",
"3.0.10-rc1",
"3.0.11",
"3.0.11-rc1",
"3.0.12",
"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.12
Fixed in 3.1.12
25 explicitly affected versions
3.1.0, 3.1.1, 3.1.10, 3.1.10-rc1, 3.1.10-rc2, 3.1.11, 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.12"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"3.1.0",
"3.1.1",
"3.1.10",
"3.1.10-rc1",
"3.1.10-rc2",
"3.1.11",
"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-framework/commit/604c32871202064a4aa12c3b3fd58140231685e5
- https://github.com/silverstripe/silverstripe-framework/commit/bdef4fc7a548c7c243ff86f2db7c16f301a6f120
- https://github.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/framework/SS-2015-009-1.yaml
- https://www.silverstripe.org/software/download/security-releases/ss-2015-009-xss-in-rewritten-hash-links