{"id":"GHSA-g4hp-pfvf-vm5w","aliases":[],"status":"published","title":"SilverStripe Vulnerability on 'isDev', 'isTest' and 'flush' $_GET validation","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.\n\nFor instance, http://www.mysite.com/?isDev=1\u0026isDevtoken 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.\n\nThe fix in this case is to ensure that empty tokens fail the validation check.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-639"],"published":"2024-05-23T17:23:55Z","modified":"2024-11-28T05:31:16Z","fixes":[{"ecosystem":"Packagist","package":"silverstripe/framework","fixed_in":["3.0.14","3.1.13"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"silverstripe/framework","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"last_affected":"3.0.13"},{"fixed":"3.0.14"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"silverstripe/framework","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.1.0"},{"fixed":"3.1.13"}]}]},{"source":"osv","ecosystem":"Packagist","package":"silverstripe/framework","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"3.0.14"}]}],"versions":["3.0.10","3.0.10-rc1","3.0.11","3.0.11-rc1","3.0.12","3.0.13","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"]},{"source":"osv","ecosystem":"Packagist","package":"silverstripe/framework","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.1.0"},{"fixed":"3.1.13"}]}],"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.12","3.1.13-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":[{"url":"https://github.com/silverstripe/silverstripe-framework/commit/a978b891e13d22dddee7e0735a7032f13964447d","tags":["web"]},{"url":"https://github.com/silverstripe/silverstripe-framework/commit/cb6717c3f85753bdc30087f280720c6d3f639ff3","tags":["web"]},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/framework/SS-2015-014-1.yaml","tags":["web"]},{"url":"https://www.silverstripe.org/software/download/security-releases/ss-2015-014","tags":["web"]},{"url":"https://github.com/advisories/GHSA-g4hp-pfvf-vm5w"},{"url":"https://github.com/silverstripe/silverstripe-framework","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-g4hp-pfvf-vm5w","title":"SilverStripe Vulnerability on 'isDev', 'isTest' and 'flush' $_GET validation","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.\n\nFor instance, http://www.mysite.com/?isDev=1\u0026isDevtoken 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.\n\nThe fix in this case is to ensure that empty tokens fail the validation check.","status":"published","published":"2024-05-23T17:23:55Z","modified":"2024-05-23T17:23:55Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:37:51.549437Z"}],"osv":[{"id":"GHSA-g4hp-pfvf-vm5w","title":"SilverStripe Vulnerability on 'isDev', 'isTest' and 'flush' $_GET validation","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.\n\nFor instance, http://www.mysite.com/?isDev=1\u0026isDevtoken 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.\n\nThe fix in this case is to ensure that empty tokens fail the validation check.","status":"published","published":"2024-05-23T17:23:55Z","modified":"2024-11-28T05:31:16.920344Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T15:46:47.119724Z"}]}}
