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

CVE-2023-6557

CVE-2023-6557 Supply Chain Attack in The events calendar
📅 PUBLISHED: 2024-02-05 21:22 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.69%
👁️
0.69% probability
17.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1592
👁️
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 5.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-6557 is a Sensitive Information Exposure vulnerability in the The Events Calendar plugin for WordPress, affecting all versions up to and including 6.2.8.2. The flaw resides in the route function, which is hooked into the wp_ajax_nopriv_tribe_dropdown AJAX action. This allows unauthenticated attackers to extract sensitive data, including post titles and IDs of pending, private, and draft posts. The vulnerability has a CVSS score of 5.3 (Medium) and an EPSS score of 0.0%, indicating low exploitation likelihood in the wild. No official patch has been released by the vendor, making this a persistent risk for WordPress sites using the plugin.

⚡ 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 WordPress ecosystem and the The Events Calendar plugin. It is not related to NPM, PyPI, Go, or Ruby packages. The plugin is distributed via the WordPress plugin repository and directly from the vendor's site. Users should monitor for updates and consider temporary mitigations until a patch is available.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low (exposure of post titles and IDs)
  • Integrity Impact: None
  • Availability Impact: None

Threat Level: Medium. While the confidentiality impact is low, the exposure of pending, private, and draft post titles and IDs can aid attackers in reconnaissance, potentially leading to more targeted attacks.

Deep Dive & Mechanics

The vulnerability is due to improper access control in the route function of the The Events Calendar plugin. The function is registered via wp_ajax_nopriv_tribe_dropdown, which allows unauthenticated users to trigger AJAX requests. The function fails to check user permissions before returning sensitive post data, including titles and IDs of posts with statuses such as pending, private, and draft.

Root Cause: The route function does not validate the user's capabilities or the post status before outputting data. This allows any unauthenticated user to enumerate non-public posts.

Attack Flow:

  1. An attacker sends a crafted AJAX request to wp-admin/admin-ajax.php with the action tribe_dropdown.
  2. The request includes parameters that trigger the route function.
  3. The function queries posts without filtering by status or checking user permissions.
  4. The response includes post titles and IDs of pending, private, and draft posts.

Vulnerable vs. Patched Code

Vulnerable Code (simplified):

add_action('wp_ajax_nopriv_tribe_dropdown', 'route');
function route() {
    $args = $_POST['args'];
    $posts = get_posts($args);
    foreach ($posts as $post) {
        echo $post->ID . ':' . $post->post_title . "\n";
    }
    wp_die();
}

Patched Code (hypothetical):

add_action('wp_ajax_nopriv_tribe_dropdown', 'route');
function route() {
    if (!current_user_can('read')) {
        wp_die('Unauthorized', 403);
    }
    $args = $_POST['args'];
    $args['post_status'] = 'publish'; // Only allow published posts
    $posts = get_posts($args);
    foreach ($posts as $post) {
        echo $post->ID . ':' . $post->post_title . "\n";
    }
    wp_die();
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site with The Events Calendar plugin version <= 6.2.8.2.
  • At least one pending, private, or draft post.

Exploitation Steps:

  1. Send a POST request to http://target/wp-admin/admin-ajax.php with the following parameters:
    • action: tribe_dropdown
    • args[post_type]: any (or a specific post type)
    • args[post_status]: any (or leave empty to include all statuses)

Example using cURL:

curl -X POST http://target/wp-admin/admin-ajax.php \
  -d "action=tribe_dropdown&args[post_type]=post&args[post_status]=any"

Expected Response:

123:Pending Post Title
456:Private Post Title
789:Draft Post Title

Blue Team

Detection:

  • Monitor for unusual AJAX requests to admin-ajax.php with the tribe_dropdown action from unauthenticated users.
  • Look for requests with args[post_status] set to any or non-standard values.

Mitigation:

  • Implement a Web Application Firewall (WAF) rule to block requests to admin-ajax.php with action=tribe_dropdown from unauthenticated users.
  • Disable the AJAX endpoint if not needed, or add a capability check via a custom plugin.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • POST requests to /wp-admin/admin-ajax.php with action=tribe_dropdown.
    • Response bodies containing post IDs and titles of non-public posts.
  • File IOCs:

    • Log entries in web server access logs showing POST /wp-admin/admin-ajax.php with action=tribe_dropdown.
  • Behavioral IOCs:

    • Unauthenticated users enumerating post titles and IDs.

Detection Engineering

YARA Rule

rule Detect_CVE_2023_6557_Exploit {
    meta:
        description = "Detects exploitation attempts for CVE-2023-6557"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2023-6557"
    strings:
        $ajax_action = "action=tribe_dropdown"
        $post_status = "args[post_status]=any"
    condition:
        $ajax_action and $post_status
}

Sigma Rule

title: CVE-2023-6557 Exploitation Attempt
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects unauthenticated AJAX requests to tribe_dropdown with suspicious post_status parameters
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        cs-uri-query: 
            - "*action=tribe_dropdown*"
            - "*args[post_status]=any*"
    condition: selection
falsepositives:
    - Legitimate plugin functionality (rare)
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2023-6557 Exploitation Attempt"; flow:to_server; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=tribe_dropdown"; http_client_body; content:"args[post_status]=any"; http_client_body; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the AJAX endpoint: Add the following code to your theme's functions.php or a custom plugin to block unauthenticated access:
    add_action('wp_ajax_nopriv_tribe_dropdown', function() {
        wp_die('Unauthorized', 403);
    }, 1);
    
  2. Apply a WAF rule: Block POST requests to admin-ajax.php with action=tribe_dropdown from unauthenticated users.

Long-term Actions:

  1. Monitor for plugin updates: The vendor has not released a patch. Subscribe to security advisories for The Events Calendar.
  2. Consider alternative plugins: If the vendor does not patch, migrate to a different events calendar plugin.
  3. Implement least privilege: Ensure that only necessary users have access to create pending, private, or draft posts.

Patch Status: UNPATCHED. No official fix is available from the vendor.


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:"The Events Calendar"
http.html:"tribe_events"

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