Brizy Page Builder <= 2.3.11 - Authenticated File Upload and Path Traversal
Strategic Overview
- Status
- Patched in 2.3.12
- Affected Plugin
- Brizy – Page Builder
- Affected Version
<= 2.3.11- CVSS
- 8.8High
- Weakness type
- CWE-434 · Unrestricted Upload of File with Dangerous Type
- CVE
CVE-2021-38346
At a glance
CVE-2021-38346 is a high-severity Unrestricted Upload of File with Dangerous Type vulnerability in the Brizy WordPress plugin, affecting versions <= 2.3.11. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account. The issue is fixed in version 2.3.12; sites on affected versions should update now. Disclosed October 2021, reported by Ram.
Vulnerability Overview
The Brizy Page Builder plugin <= 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.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-434: Unrestricted Upload of File with Dangerous Type
Reaching this weakness in Brizy <= 2.3.11 takes any authenticated account. An unrestricted file upload lets a caller store a file whose type or destination the application does not properly constrain.
If an uploaded file lands anywhere the server will execute, the flaw becomes remote code execution and the site should be treated as fully compromised. For Brizy the fix is 2.3.12: builds <= 2.3.11 are affected, anything from 2.3.12 onward is not.
Remediation
Update to version 2.3.12, or a newer patched version
How does WordSec protect against this?
The attempt arrives as an ordinary request to Brizy: WordSec's web application firewall inspects request payloads before WordPress loads them. Classes like this one can leave something behind, so the staged malware scanner is the second half: it looks for dropped files and modified code rather than for the request that created them. None of that substitutes for the fix: Brizy 2.3.12 closes this, and updating the plugin is the step that ends it.
- Firewall
- Scanner
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in Brizy – Page Builder
- 7.4CVE-2024-3667: Brizy – Page Builder <= 2.4.43 Store XSS
CVE-2024-3667 - 7.4CVE-2020-36714: Brizy Authorization Bypass to Settings Updates
CVE-2020-36714 - 7.2CVE-2026-5324: Brizy – Page Builder <= 2.8.11 Stored XSS
CVE-2026-5324 - 7.2CVE-2024-2087: Brizy – Page Builder <= 2.4.43 Stored XSS
CVE-2024-2087 - 7.1CVE-2024-1937: Brizy Authenticated (Contributor+) Post Modification
CVE-2024-1937 - 7.1CVE-2024-1940: Brizy – Page Builder <= 2.4.41 Stored XSS
CVE-2024-1940 - 7.1CVE-2021-38345: Brizy Page Builder Incorrect Authorization Checks
CVE-2021-38345 - 6.5CVE-2025-0969: Brizy – Page Builder <= 2.7.16 Info Exposure
CVE-2025-0969
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C