{"id":"CVE-2020-15247","aliases":["EUVD-2020-1452","GHSA-94vp-rmqv-5875"],"status":"published","title":"Twig Sandbox Escape by authenticated users with access to editing CMS templates when safemode is enabled.","description":"October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. In October CMS from version 1.0.319 and before version 1.0.469, an authenticated backend user with the cms.manage_pages, cms.manage_layouts, or cms.manage_partials permissions who would normally not be permitted to provide PHP code to be executed by the CMS due to cms.enableSafeMode being enabled is able to write specific Twig code to escape the Twig sandbox and execute arbitrary PHP. This is not a problem for anyone that trusts their users with those permissions to normally write \u0026 manage PHP within the CMS by not having cms.enableSafeMode enabled, but would be a problem for anyone relying on cms.enableSafeMode to ensure that users with those permissions in production do not have access to write \u0026 execute arbitrary PHP. Issue has been patched in Build 469 (v1.0.469) and v1.1.0.","severity":{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00296,"percentile":0.22464,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-862"],"published":"2020-11-23T19:35:14Z","modified":"2026-10-20T10:51:53Z","fixes":[{"ecosystem":"Packagist","package":"october/cms","fixed_in":["1.0.469"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"october/cms","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.319"},{"fixed":"1.0.469"}]}]},{"source":"osv","ecosystem":"Packagist","package":"october/cms","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.319"},{"fixed":"1.0.469"}]}],"versions":["v1.0.319","v1.0.320","v1.0.321","v1.0.322","v1.0.323","v1.0.324","v1.0.325","v1.0.326","v1.0.327","v1.0.328","v1.0.329","v1.0.330","v1.0.331","v1.0.332","v1.0.333","v1.0.334","v1.0.335","v1.0.336","v1.0.337","v1.0.338","v1.0.339","v1.0.340","v1.0.341","v1.0.342","v1.0.343","v1.0.344","v1.0.345","v1.0.346","v1.0.347","v1.0.348","v1.0.349","v1.0.350","v1.0.351","v1.0.352","v1.0.353","v1.0.354","v1.0.355","v1.0.356","v1.0.357","v1.0.358","v1.0.359","v1.0.360","v1.0.361","v1.0.362","v1.0.363","v1.0.364","v1.0.365","v1.0.366","v1.0.367","v1.0.368","v1.0.369","v1.0.370","v1.0.371","v1.0.372","v1.0.373","v1.0.374","v1.0.375","v1.0.376","v1.0.377","v1.0.378","v1.0.379","v1.0.380","v1.0.381","v1.0.382","v1.0.383","v1.0.384","v1.0.385","v1.0.386","v1.0.387","v1.0.388","v1.0.389","v1.0.390","v1.0.391","v1.0.392","v1.0.393","v1.0.394","v1.0.395","v1.0.396","v1.0.397","v1.0.398","v1.0.399","v1.0.400","v1.0.401","v1.0.402","v1.0.403","v1.0.404","v1.0.405","v1.0.406","v1.0.407","v1.0.408","v1.0.409","v1.0.410","v1.0.411","v1.0.412","v1.0.413","v1.0.414","v1.0.415","v1.0.416","v1.0.417","v1.0.418","v1.0.419","v1.0.420","v1.0.421","v1.0.422","v1.0.423","v1.0.424","v1.0.425","v1.0.426","v1.0.427","v1.0.428","v1.0.429","v1.0.430","v1.0.431","v1.0.432","v1.0.433","v1.0.434","v1.0.435","v1.0.436","v1.0.437","v1.0.438","v1.0.439","v1.0.440","v1.0.441","v1.0.442","v1.0.443","v1.0.444","v1.0.445","v1.0.446","v1.0.447","v1.0.448","v1.0.449","v1.0.450","v1.0.451","v1.0.452","v1.0.453","v1.0.454","v1.0.455","v1.0.456","v1.0.457","v1.0.458","v1.0.459","v1.0.460","v1.0.461","v1.0.462","v1.0.463","v1.0.464","v1.0.465","v1.0.466","v1.0.467","v1.0.468"]}],"products":[{"vendor":"octobercms","product":"october"}],"references":[{"url":"https://github.com/octobercms/october/security/advisories/GHSA-94vp-rmqv-5875","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/octobercms/october/commit/4c650bb775ab849e48202a4923bac93bd74f9982","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15247","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-94vp-rmqv-5875"},{"url":"https://github.com/octobercms/october","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2020-15247","title":"Twig Sandbox Escape by authenticated users with access to editing CMS templates when safemode is enabled.","description":"October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. In October CMS from version 1.0.319 and before version 1.0.469, an authenticated backend user with the cms.manage_pages, cms.manage_layouts, or cms.manage_partials permissions who would normally not be permitted to provide PHP code to be executed by the CMS due to cms.enableSafeMode being enabled is able to write specific Twig code to escape the Twig sandbox and execute arbitrary PHP. This is not a problem for anyone that trusts their users with those permissions to normally write \u0026 manage PHP within the CMS by not having cms.enableSafeMode enabled, but would be a problem for anyone relying on cms.enableSafeMode to ensure that users with those permissions in production do not have access to write \u0026 execute arbitrary PHP. Issue has been patched in Build 469 (v1.0.469) and v1.1.0.","status":"published","published":"2020-11-23T19:35:14Z","modified":"2024-08-04T13:08:23.232Z","cvss":[{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:35:49.879248Z"}],"euvd":[{"id":"EUVD-2020-1452","description":"October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. In October CMS from version 1.0.319 and before version 1.0.469, an authenticated backend user with the cms.manage_pages, cms.manage_layouts, or cms.manage_partials permissions who would normally not be permitted to provide PHP code to be executed by the CMS due to cms.enableSafeMode being enabled is able to write specific Twig code to escape the Twig sandbox and execute arbitrary PHP. This is not a problem for anyone that trusts their users with those permissions to normally write \u0026 manage PHP within the CMS by not having cms.enableSafeMode enabled, but would be a problem for anyone relying on cms.enableSafeMode to ensure that users with those permissions in production do not have access to write \u0026 execute arbitrary PHP. Issue has been patched in Build 469 (v1.0.469) and v1.1.0.","status":"published","published":"2020-11-23T19:35:14Z","modified":"2024-08-04T13:08:23Z","cvss":[{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-03T03:07:32.55679Z"}],"ghsa":[{"id":"GHSA-94vp-rmqv-5875","title":"Twig Sandbox Escape by authenticated users with access to editing CMS templates when safemode is enabled.","description":"### Impact\nAn authenticated backend user with the `cms.manage_pages`, `cms.manage_layouts`, or `cms.manage_partials` permissions who would **normally** not be permitted to provide PHP code to be executed by the CMS due to `cms.enableSafeMode` being enabled is able to write specific Twig code to escape the Twig sandbox and execute arbitrary PHP.\n\nThis is not a problem for anyone that trusts their users with those permissions to normally write \u0026 manage PHP within the CMS by not having `cms.enableSafeMode` enabled, but would be a problem for anyone relying on `cms.enableSafeMode` to ensure that users with those permissions in production do not have access to write \u0026 execute arbitrary PHP.\n\n### Patches\nIssue has been patched in Build 469 (v1.0.469) and v1.1.0.\n\n### Workarounds\nApply https://github.com/octobercms/october/compare/106daa2930de4cebb18732732d47d4056f01dd5b...7cb148c1677373ac30ccfd3069d18098e403e1ca to your installation manually if unable to upgrade to Build 469.\n\n### References\nReported by [ka1n4t](https://github.com/ka1n4t)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Email us at [hello@octobercms.com](mailto:hello@octobercms.com)\n\n### Threat assessment:\n\u003cimg width=\"1108\" alt=\"Screen Shot 2020-10-10 at 1 21 13 PM\" src=\"https://user-images.githubusercontent.com/7253840/95663316-7de28b80-0afb-11eb-999d-a6526cf78709.png\"\u003e","status":"published","published":"2020-11-23T19:48:27Z","modified":"2023-02-01T05:05:05Z","cvss":[{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:36:32.918681Z"}],"nvd":[{"id":"CVE-2020-15247","description":"October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. In October CMS from version 1.0.319 and before version 1.0.469, an authenticated backend user with the cms.manage_pages, cms.manage_layouts, or cms.manage_partials permissions who would normally not be permitted to provide PHP code to be executed by the CMS due to cms.enableSafeMode being enabled is able to write specific Twig code to escape the Twig sandbox and execute arbitrary PHP. This is not a problem for anyone that trusts their users with those permissions to normally write \u0026 manage PHP within the CMS by not having cms.enableSafeMode enabled, but would be a problem for anyone relying on cms.enableSafeMode to ensure that users with those permissions in production do not have access to write \u0026 execute arbitrary PHP. Issue has been patched in Build 469 (v1.0.469) and v1.1.0.","status":"published","published":"2020-11-23T20:15:12.383Z","modified":"2026-06-17T02:56:21.18Z","cvss":[{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium","assessor":"primary"},{"version":"2.0","score":4.4,"vector":"AV:L/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:06:25.394006Z"}],"osv":[{"id":"CVE-2020-15247","description":"October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. In October CMS from version 1.0.319 and before version 1.0.469, an authenticated backend user with the cms.manage_pages, cms.manage_layouts, or cms.manage_partials permissions who would normally not be permitted to provide PHP code to be executed by the CMS due to cms.enableSafeMode being enabled is able to write specific Twig code to escape the Twig sandbox and execute arbitrary PHP. This is not a problem for anyone that trusts their users with those permissions to normally write \u0026 manage PHP within the CMS by not having cms.enableSafeMode enabled, but would be a problem for anyone relying on cms.enableSafeMode to ensure that users with those permissions in production do not have access to write \u0026 execute arbitrary PHP. Issue has been patched in Build 469 (v1.0.469) and v1.1.0.","status":"published","published":"2020-11-23T20:15:12.383Z","modified":"2026-10-20T10:51:53.622000811Z","cvss":[{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-02T15:44:14.828228Z"},{"id":"GHSA-94vp-rmqv-5875","title":"Twig Sandbox Escape by authenticated users with access to editing CMS templates when safemode is enabled.","description":"### Impact\nAn authenticated backend user with the `cms.manage_pages`, `cms.manage_layouts`, or `cms.manage_partials` permissions who would **normally** not be permitted to provide PHP code to be executed by the CMS due to `cms.enableSafeMode` being enabled is able to write specific Twig code to escape the Twig sandbox and execute arbitrary PHP.\n\nThis is not a problem for anyone that trusts their users with those permissions to normally write \u0026 manage PHP within the CMS by not having `cms.enableSafeMode` enabled, but would be a problem for anyone relying on `cms.enableSafeMode` to ensure that users with those permissions in production do not have access to write \u0026 execute arbitrary PHP.\n\n### Patches\nIssue has been patched in Build 469 (v1.0.469) and v1.1.0.\n\n### Workarounds\nApply https://github.com/octobercms/october/compare/106daa2930de4cebb18732732d47d4056f01dd5b...7cb148c1677373ac30ccfd3069d18098e403e1ca to your installation manually if unable to upgrade to Build 469.\n\n### References\nReported by [ka1n4t](https://github.com/ka1n4t)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Email us at [hello@octobercms.com](mailto:hello@octobercms.com)\n\n### Threat assessment:\n\u003cimg width=\"1108\" alt=\"Screen Shot 2020-10-10 at 1 21 13 PM\" src=\"https://user-images.githubusercontent.com/7253840/95663316-7de28b80-0afb-11eb-999d-a6526cf78709.png\"\u003e","status":"published","published":"2020-11-23T19:48:27Z","modified":"2026-09-10T03:48:35.507434299Z","cvss":[{"version":"3.1","score":5.2,"vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L","level":"medium"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:46:43.123867Z"}]}}
