Summary
CVE-2026-15158 is a critical-severity (CVSS 9.8) unauthenticated arbitrary file upload vulnerability in the Blocksy Companion Pro WordPress plugin, affecting all versions up to and including 2.1.46. A flaw in the plugin’s MIME type validation logic allows unauthenticated attackers to upload PHP-executable files disguised as font files, enabling Remote Code Execution (RCE) on the underlying web server. A patched version (2.1.47) has been released, and immediate upgrade is strongly recommended.
Technical details
- Root cause: The Custom Fonts extension registers a
wp_check_filetype_and_extWordPress filter that validates uploaded filenames using PHP’sstrpos()function, checking only whether.woff2or.ttfappears anywhere in the filename as a substring. Because it does not validate that the permitted extension is the final extension (asPATHINFO_EXTENSIONwould enforce), a double-extension filename such asshell.woff2.phppasses MIME validation and is accepted as a permitted font file while remaining executable by the PHP runtime. - Trigger condition: The flaw is reached through the
save_attachmentsfunction, accessible via theblc-review-images[]parameter. Exploitation requires that both the WooCommerce Extra (Advanced Reviews) extension and the Custom Fonts extension are enabled within the premium plugin installation. - Attack vector: Fully unauthenticated network request — no credentials, valid session, or user interaction are required at any stage of exploitation.
- Impact: Successful exploitation allows an attacker to upload and execute arbitrary PHP code on the web server, achieving Remote Code Execution with the web server process’s privilege level. This can lead to complete server compromise, sensitive data exfiltration, web shell persistence, and lateral movement within the hosting environment.
Affected software
- Blocksy Companion Pro (
blocksy-companion-pro) — all versions up to and including 2.1.46- Exploitation additionally requires: the premium plugin installed with both the WooCommerce Extra (Advanced Reviews) and Custom Fonts extensions active
- The free
blocksy-companionplugin does not contain the vulnerable code paths and is not affected
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector String:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: Upgrade Blocksy Companion Pro to version 2.1.47 or later (current latest: 2.1.48). Version 2.1.47 was released June 24, 2026 and is the first version not affected by this vulnerability.
- If immediate upgrade is not feasible: As a temporary workaround, disable either the Custom Fonts extension or the WooCommerce Extra (Advanced Reviews) extension within the plugin’s settings — deactivating either removes the vulnerable code execution path.
- Inspect WordPress upload directories for unexpected PHP or script files, particularly those with double-extension naming patterns (e.g.,
*.woff2.php,*.ttf.php), as these may indicate prior exploitation attempts. - Enforce web server-level restrictions (e.g., via
.htaccessor NGINX configuration) to prevent direct execution of files within the WordPressuploads/directory if not already in place.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

