Skip to main content

Blocksy Companion CVE-2026-15158

| EUVDEUVD-2026-42549 CRITICAL
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-07-09 Wordfence GHSA-hhjp-58g7-3jr8
9.8
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Identify site with Blocksy Pro fonts+reviews active
  2. Delivery
    Craft shell.woff2.php font payload
  3. Exploit
    Submit via review save_attachments upload
  4. Install
    strpos() filter approves double-extension file
  5. C2
    File written to server
  6. Execute
    Request uploaded PHP file
  7. Impact
    Execute arbitrary code

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK

2 techniques across 2 tactics: Command and Control, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the premium blocksy-companion-pro plugin to be installed AND both the WooCommerce Extra (Advanced Reviews) extension and the Custom Fonts extension to be active simultaneously - the free blocksy-companion plugin is not affected. The concrete trigger is the save_attachments upload path in the Advanced Reviews feature combined with the Custom Fonts extension's wp_check_filetype_and_ext filter, which approves any filename containing '.woff2' or '.ttf' as a substring, allowing double-extension files such as shell.woff2.php. Per the CVSS vector (PR:N/UI:N) no authentication or user interaction is required, but the pro-plus-two-extensions requirement is a non-default configuration that meaningfully limits the exploitable population; the payload also depends on the server being willing to execute PHP from the upload location.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 9.8) describes remote, unauthenticated, low-complexity exploitation with full confidentiality, integrity, and availability impact - consistent with unauthenticated RCE via arbitrary file upload. However, the raw 9.8 overstates realistic exposure because exploitation is gated on a specific non-default configuration: the paid Blocksy Companion Pro must be installed with BOTH the WooCommerce Extra (Advanced Reviews) and Custom Fonts extensions active; the far more common free plugin lacks the vulnerable code entirely. No EPSS score, KEV entry, or public POC was provided, so there is no evidence of active exploitation or automated weaponization at this time - the signal is a credible Wordfence code-level finding, not observed attacks. Net assessment: genuinely high severity where the vulnerable pro/extension combination is deployed, but the affected population is narrower than the network-unauthenticated vector alone implies, making this a prioritized patch for affected sites rather than an internet-wide emergency.

Exploit ScenarioDerived

An unauthenticated attacker locates a WordPress site running Blocksy Companion Pro with the Advanced Reviews and Custom Fonts extensions active, then submits a product review attachment named shell.woff2.php containing PHP code. The save_attachments handler passes the file through the Custom Fonts filter, whose strpos() substring check sees '.woff2' and approves it, writing the file to the server; the attacker then requests the uploaded .php file to execute arbitrary code. No public POC is currently identified, but the low attack complexity and lack of authentication make reliable exploitation straightforward once the vulnerable configuration is found.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 1.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 09, 2026

Arbitrary file upload leading to remote code execution affects the premium Blocksy Companion Pro plugin for WordPress in all versions through 2.1.46, where the Custom Fonts extension's flawed MIME validation lets unauthenticated attackers upload executable PHP files disguised as fonts. The Custom Fonts extension registers a wp_check_filetype_and_ext filter that uses strpos() to approve any filename merely containing '.woff2' or '.ttf' anywhere in the string, so a double-extension payload like shell.woff2.php passes as a legitimate font. Reported by Wordfence with a CVSS of 9.8; no public exploit identified at time of analysis and it is not listed in CISA KEV.

RemediationAI

No vendor-released patched version was identified in the provided data, so no exact fix version can be cited; monitor the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/2df449b4-3f3b-4afc-b391-8d8d11710c07?source=cve) and the Creative Themes HQ changelog for a release above 2.1.46 and upgrade immediately once available. As specific compensating controls until a patch is confirmed, deactivate the Custom Fonts extension (removes the flawed wp_check_filetype_and_ext filter and closes the primary vector, at the cost of custom font uploads) or deactivate the WooCommerce Extra Advanced Reviews feature that exposes save_attachments (disables customer review attachments); either alone breaks the exploit chain. Additionally, configure the web server to refuse PHP execution within the WordPress uploads directory (e.g., an Nginx location or Apache <Directory> rule denying execution of .php under wp-content/uploads), which neutralizes double-extension payloads with minimal functional impact, and place a WAF rule to block uploads whose filenames contain a font extension followed by an executable extension.

Affected VersionsENISA

Blocksy Companion 0 ≤2.1.46

Affected Packages

euvd blocksy_companion no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-434 (Unrestricted Upload of File with Dangerous Type). WordPress normally gates uploads through the wp_check_filetype_and_ext filter, which is supposed to confirm a file's real extension and MIME type. The Custom Fonts extension (framework/premium/extensions/custom-fonts/extension.php around line 137) hooks this filter but validates the filename with strpos(), a substring search, instead of PHP's pathinfo() with PATHINFO_EXTENSION, which would isolate the true final extension. Because strpos() matches '.woff2' or '.ttf' as a substring anywhere in the name, a filename such as shell.woff2.php satisfies the check while the operating system and web server still treat the terminal .php as the executable extension. The upload is driven through the save_attachments function in the WooCommerce Extra Advanced Reviews feature (feature.php around line 811), which is where attacker-controlled files enter. Affected code is identified by CPE cpe:2.3:a:creativethemeshq:blocksy_companion:*:*:*:*:*:*:*:*.

Know when Blocksy Companion gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

Unauthenticated remote file upload yields code execution with full C/I/A impact; the pro/extension requirement is a deployment precondition, not attack complexity, so AC:L and PR:N stand.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

The Blocksy Companion plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.1.46 via the save_attachments function. This is due to the Custom Fonts extension registering a wp_check_filetype_and_ext filter that approves any filename containing .woff2 or .ttf as a substring via strpos() rather than validating that those strings appear as the final extension via PATHINFO_EXTENSION - allowing double-extension filenames such as shell.woff2.php to pass MIME validation and be handled as permitted font files. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. This vulnerability is only exploitable when the premium version of the plugin (blocksy-companion-pro) is installed with both the WooCommerce Extra (Advanced Reviews) and Custom Fonts extensions active; the free blocksy-companion plugin does not contain the vulnerable code paths.

Executive ViewAI

Why It Matters

Blocksy Companion Pro WordPress plugin (all versions ≤2.1.46) contains a critical unauthenticated remote code execution vulnerability in its Custom Fonts extension. Any website visitor can upload malicious PHP files by exploiting inadequate MIME validation, gaining direct control over the WordPress server and underlying infrastructure.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable Custom Fonts extension via plugin admin panel if safe for branding requirements; (2) Configure web server to block PHP execution in wp-content/uploads via .htaccess (AddType text/plain .php) or nginx location directives; (3) Deploy WAF rules to reject multipart POST requests to font upload endpoints with suspicious file extensions; (4) Enable file integrity monitoring on wp-content/uploads directory to alert on unexpected .php file creation; (5) Consider complete plugin removal if font customization is not essential to operations.

Threat Intelligence Overview

EPSS Score
1.0%
Top 42% exploitable
Prevalence
Medium
Blocksy is popular, but only paid pro build with two specific extensions is affected
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 1.0%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2026-58480 CRITICAL POC
9.2 Jul 08

Remote code execution in the Blocksy Companion Pro WordPress plugin (all versions before 2.1.47) lets unauthenticated at

CVE-2026-107645 CRITICAL
9.1 Oct 10

Unauthenticated privilege escalation in the Blocksy Companion WordPress plugin (versions up to and including 2.1.58) all

CVE-2023-1911 MEDIUM POC
4.3 May 02

The Blocksy Companion WordPress plugin before 1.8.82 does not ensure that posts to be accessed via a shortcode are alrea

CVE-2026-65444 MEDIUM
6.5 Oct 30

Stored cross-site scripting in the Blocksy Companion WordPress plugin (versions through 2.1.60) allows an authenticated

CVE-2026-97247 MEDIUM
6.5 Sep 30

Unauthenticated attackers can exploit a broken access control flaw in the Blocksy Companion WordPress plugin versions up

CVE-2026-18488 MEDIUM
6.4 Sep 01

Stored Cross-Site Scripting in the Blocksy Companion WordPress plugin (versions up to and including 2.1.51) allows authe

CVE-2024-4487 MEDIUM
6.4 May 14

The Blocksy Companion plugin for WordPress is vulnerable to Stored Cross-Site Scripting via SVG uploads in versions up t

CVE-2024-2392 MEDIUM
6.4 Mar 22

The Blocksy Companion plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's Newsletter widg

CVE-2024-31932 MEDIUM
5.4 Apr 11

Cross-Site Request Forgery (CSRF) vulnerability in CreativeThemes Blocksy Companion.0.28. Rated medium severity (CVSS 5.

CVE-2023-23898 MEDIUM
5.4 Apr 06

Auth. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, low attack complexity. No vendor pat

CVE-2024-35633 MEDIUM
4.4 Jun 03

Server-Side Request Forgery (SSRF) vulnerability in Creative Themes Blocksy Companion blocksy-companion.0.42. Rated medi

CVE-2026-12430 MEDIUM
4.4 Jun 19

Stored Cross-Site Scripting in the Blocksy Companion WordPress plugin (all versions through 2.1.45) enables authenticate

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy