silverstripe/silverstripe-framework · Security
SilverStripe Vulnerability on 'isDev', 'isTest' and 'flush' $_GET validation
- GHSA ID
- GHSA-g4hp-pfvf-vm5w
- Severity
- medium
- Published
- Updated
- CVSS
- 6.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
- CVSS v3
- 6.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
Description
When a secure token parameter is provided to a SilverStripe site (such as isDev or flush) an empty token parameter can be provided in order to bypass normal authentication parameters.
For instance, http://www.mysite.com/?isDev=1&isDevtoken will force a site to dev mode. Alternatively, "flush" could also be used in succession to cause excessive load on a victim site and risk denial of service.
The fix in this case is to ensure that empty tokens fail the validation check.
CWEs
- CWE-639 · Authorization Bypass Through User-Controlled Key
References
- https://github.com/silverstripe/silverstripe-framework/commit/a978b891e13d22dddee7e0735a7032f13964447d ↗
- https://github.com/silverstripe/silverstripe-framework/commit/cb6717c3f85753bdc30087f280720c6d3f639ff3 ↗
- https://github.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/framework/SS-2015-014-1.yaml ↗
- https://www.silverstripe.org/software/download/security-releases/ss-2015-014 ↗
- https://github.com/advisories/GHSA-g4hp-pfvf-vm5w ↗