{"id":"CVE-2021-38346","aliases":["EUVD-2021-24799","GHSA-gq9p-f72g-3m6j"],"status":"published","title":"Brizy \u003c= 2.3.11 Authenticated Unrestricted File Upload and Path Traversal","description":"The Brizy Page Builder plugin \u003c= 2.3.11 for WordPress allowed authenticated users to upload executable files to a location of their choice using the brizy_create_block_screenshot AJAX action. The file would be named using the id parameter, which could be prepended with \"../\" to perform directory traversal, and the file contents were populated via the ibsf parameter, which would be base64-decoded and written to the file. While the plugin added a .jpg extension to all uploaded filenames, a double extension attack was still possible, e.g. a file named shell.php would be saved as shell.php.jpg, and would be executable on a number of common configurations.","severity":{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.01737,"percentile":0.77997,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-22","CWE-434","CWE-79"],"published":"2021-10-14T15:56:57Z","modified":"2026-06-17T04:01:55Z","products":[{"vendor":"brizy","product":"brizy-page_builder"},{"vendor":"brizy.io","product":"brizy - page builder"}],"references":[{"url":"https://www.wordfence.com/blog/2021/10/multiple-vulnerabilities-in-brizy-page-builder-plugin-allow-site-takeover/","tags":["x_refsource_MISC","x_transferred","Third Party Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-38346"},{"url":"https://github.com/advisories/GHSA-gq9p-f72g-3m6j"}],"sources":{"cve":[{"id":"CVE-2021-38346","title":"Brizy \u003c= 2.3.11 Authenticated Unrestricted File Upload and Path Traversal","description":"The Brizy Page Builder plugin \u003c= 2.3.11 for WordPress allowed authenticated users to upload executable files to a location of their choice using the brizy_create_block_screenshot AJAX action. The file would be named using the id parameter, which could be prepended with \"../\" to perform directory traversal, and the file contents were populated via the ibsf parameter, which would be base64-decoded and written to the file. While the plugin added a .jpg extension to all uploaded filenames, a double extension attack was still possible, e.g. a file named shell.php would be saved as shell.php.jpg, and would be executable on a number of common configurations.","status":"published","published":"2021-10-14T15:56:57.21Z","modified":"2025-02-14T18:11:15.472Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:33:07.697752Z"}],"euvd":[{"id":"EUVD-2021-24799","description":"The Brizy Page Builder plugin \u003c= 2.3.11 for WordPress allowed authenticated users to upload executable files to a location of their choice using the brizy_create_block_screenshot AJAX action. The file would be named using the id parameter, which could be prepended with \"../\" to perform directory traversal, and the file contents were populated via the ibsf parameter, which would be base64-decoded and written to the file. While the plugin added a .jpg extension to all uploaded filenames, a double extension attack was still possible, e.g. a file named shell.php would be saved as shell.php.jpg, and would be executable on a number of common configurations.","status":"published","published":"2021-10-14T15:56:57Z","modified":"2025-02-14T18:11:15Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T20:53:30.344132Z"}],"ghsa":[{"id":"GHSA-gq9p-f72g-3m6j","title":"The Brizy Page Builder plugin \u003c= 2.3.11 for WordPress allowed authenticated users to upload...","description":"The Brizy Page Builder plugin \u003c= 2.3.11 for WordPress allowed authenticated users to upload executable files to a location of their choice using the brizy_create_block_screenshot AJAX action. The file would be named using the id parameter, which could be prepended with \"../\" to perform directory traversal, and the file contents were populated via the ibsf parameter, which would be base64-decoded and written to the file. While the plugin added a .jpg extension to all uploaded filenames, a double extension attack was still possible, e.g. a file named shell.php would be saved as shell.php.jpg, and would be executable on a number of common configurations.","status":"published","published":"2022-05-24T19:17:35Z","modified":"2023-01-27T05:03:18Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-22","CWE-79"],"updated_at":"2026-11-02T14:42:13.302487Z"}],"nvd":[{"id":"CVE-2021-38346","description":"The Brizy Page Builder plugin \u003c= 2.3.11 for WordPress allowed authenticated users to upload executable files to a location of their choice using the brizy_create_block_screenshot AJAX action. The file would be named using the id parameter, which could be prepended with \"../\" to perform directory traversal, and the file contents were populated via the ibsf parameter, which would be base64-decoded and written to the file. While the plugin added a .jpg extension to all uploaded filenames, a double extension attack was still possible, e.g. a file named shell.php would be saved as shell.php.jpg, and would be executable on a number of common configurations.","status":"published","published":"2021-10-14T16:15:09.317Z","modified":"2026-06-17T04:01:55.12Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"2.0","score":6.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-79","CWE-22","CWE-434"],"updated_at":"2026-11-02T14:06:59.689345Z"}]}}
