{"id":"CVE-2020-4041","aliases":["AZL-110321","EUVD-2020-0462","GHSA-68q3-7wjp-7q3j"],"status":"published","title":"The filename of uploaded files vulnerable to stored XSS in Bolt CMS","description":"In Bolt CMS before version 3.7.1, the filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. Additionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented. This is fixed in Bolt 3.7.1.","severity":{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-08","score":0.02077,"percentile":0.81617,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2020-06-08T22:05:14Z","modified":"2026-11-05T05:36:30Z","fixes":[{"ecosystem":"Packagist","package":"bolt/bolt","fixed_in":["3.7.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"bolt/bolt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.7.1"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"bolt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.9.8-1"}]}]},{"source":"osv","ecosystem":"Packagist","package":"bolt/bolt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.7.1"}]}],"versions":["3.5.7","v0.8.4","v0.8.5","v0.9.10","v0.9.5","v1.0.0","v1.0.5","v1.1.2","v1.1.4","v1.2.1","v1.3.0","v1.4.0","v1.4.3","v1.5.1","v1.5.6","v1.6.0","v1.6.2","v1.6.3","v1.6.3.1","v1.6.9","v2.0.0","v2.0.1","v2.0.2","v2.0.3","v2.0.4","v2.0.5","v2.0.6","v2.1.0","v2.1.1","v2.1.1-pl1","v2.1.2","v2.1.3","v2.1.3-pl1","v2.1.4","v2.1.4-pl1","v2.1.5","v2.1.6","v2.1.7","v2.1.8","v2.1.8-pl1","v2.1.9","v2.2.0","v2.2.1","v2.2.10","v2.2.11","v2.2.13","v2.2.14","v2.2.15","v2.2.16","v2.2.17","v2.2.18","v2.2.19","v2.2.19-pl1","v2.2.2","v2.2.20","v2.2.21","v2.2.22","v2.2.23","v2.2.24","v2.2.25","v2.2.3","v2.2.4","v2.2.5","v2.2.6","v2.2.7","v2.2.8","v2.2.9","v3.0.0","v3.0.1","v3.0.10","v3.0.11","v3.0.12","v3.0.2","v3.0.3","v3.0.4","v3.0.5","v3.0.6","v3.0.7","v3.0.8","v3.0.9","v3.1.0","v3.1.1","v3.1.2","v3.1.3","v3.1.4","v3.1.5","v3.1.6","v3.2.0","v3.2.1","v3.2.10","v3.2.11","v3.2.12","v3.2.13","v3.2.14","v3.2.15","v3.2.16","v3.2.17","v3.2.18","v3.2.19","v3.2.2","v3.2.20","v3.2.3","v3.2.4","v3.2.5","v3.2.6","v3.2.7","v3.2.8","v3.2.9","v3.3.0","v3.3.1","v3.3.2","v3.3.3","v3.3.4","v3.3.5","v3.3.6","v3.4.0","v3.4.1","v3.4.10","v3.4.11","v3.4.2","v3.4.3","v3.4.4","v3.4.5","v3.4.6","v3.4.7","v3.4.8","v3.4.9","v3.5.0","v3.5.1","v3.5.2","v3.5.3","v3.5.4","v3.5.5","v3.5.6","v3.6.0","v3.6.0-beta.1","v3.6.0-beta.2","v3.6.0-beta.3","v3.6.0-beta.4","v3.6.0-beta.5","v3.6.0-beta.6","v3.6.0-beta.7","v3.6.1","v3.6.10","v3.6.11","v3.6.2","v3.6.3","v3.6.4","v3.6.5","v3.6.6","v3.6.7","v3.6.8","v3.6.9","v3.7.0"]}],"products":[{"vendor":"bolt","product":"bolt"},{"vendor":"boltcms","product":"bolt"},{"vendor":"puppet","product":"bolt"}],"references":[{"url":"https://github.com/bolt/bolt/pull/7853","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/bolt/bolt/commit/b42cbfcf3e3108c46a80581216ba03ef449e419f","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/bolt/bolt/security/advisories/GHSA-68q3-7wjp-7q3j","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"http://packetstormsecurity.com/files/158299/Bolt-CMS-3.7.0-XSS-CSRF-Shell-Upload.html","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","VDB Entry","evidence","web"]},{"url":"http://seclists.org/fulldisclosure/2020/Jul/4","tags":["mailing-list","x_refsource_FULLDISC","x_transferred","Exploit","Mailing List","Third Party Advisory","evidence","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-4041","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-68q3-7wjp-7q3j"},{"url":"https://github.com/bolt/bolt","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2020-4041","title":"The filename of uploaded files vulnerable to stored XSS in Bolt CMS","description":"In Bolt CMS before version 3.7.1, the filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. Additionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented. This is fixed in Bolt 3.7.1.","status":"published","published":"2020-06-08T22:05:14Z","modified":"2024-08-04T07:52:20.827Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:35:55.797746Z"}],"euvd":[{"id":"EUVD-2020-0462","description":"In Bolt CMS before version 3.7.1, the filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. Additionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented. This is fixed in Bolt 3.7.1.","status":"published","published":"2020-06-08T22:05:14Z","modified":"2024-08-04T07:52:20Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-03T03:08:08.458165Z"}],"ghsa":[{"id":"GHSA-68q3-7wjp-7q3j","title":"The filename of uploaded files vulnerable to stored XSS","description":"### Impact\n\nThe filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. \n\nAdditionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented.\n\n### Patches\n\nThis is fixed in Bolt 3.7.1.\n\n### References\n\nRelated issue: https://github.com/bolt/bolt/pull/7853","status":"published","published":"2020-06-09T00:25:34Z","modified":"2023-01-28T05:04:37Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:24.277749Z"}],"nvd":[{"id":"CVE-2020-4041","description":"In Bolt CMS before version 3.7.1, the filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. Additionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented. This is fixed in Bolt 3.7.1.","status":"published","published":"2020-06-08T22:15:10.697Z","modified":"2026-06-17T03:19:28.22Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:06:05.962132Z"}],"osv":[{"id":"AZL-110321","title":"CVE-2020-4041 affecting package bolt 0.9.8-1","description":"In Bolt CMS before version 3.7.1, the filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. Additionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented. This is fixed in Bolt 3.7.1.","status":"published","published":"2020-06-08T22:15:10Z","modified":"2026-11-05T05:36:30Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-05T16:41:18.42484Z"},{"id":"CVE-2020-4041","description":"In Bolt CMS before version 3.7.1, the filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. Additionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented. This is fixed in Bolt 3.7.1.","status":"published","published":"2020-06-08T22:15:10.697Z","modified":"2026-10-24T10:50:39.326166993Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:16.936975Z"},{"id":"GHSA-68q3-7wjp-7q3j","title":"The filename of uploaded files vulnerable to stored XSS","description":"### Impact\n\nThe filename of uploaded files was vulnerable to stored XSS. It is not possible to inject javascript code in the file name when creating/uploading the file. But, once created/uploaded, it can be renamed to inject the payload in it. \n\nAdditionally, the measures to prevent renaming the file to disallowed filename extensions could be circumvented.\n\n### Patches\n\nThis is fixed in Bolt 3.7.1.\n\n### References\n\nRelated issue: https://github.com/bolt/bolt/pull/7853","status":"published","published":"2020-06-09T00:25:34Z","modified":"2026-07-08T05:59:50.377334097Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:39.266402Z"}]}}
