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

CVE-2025-49913

CVE-2025-49913 Missing Authorization in Coschedule
📅 PUBLISHED: 2025-10-22 15:15 UTC 🔄 UPDATED: 2026-08-12 14:53 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.04%
👁️
0.04% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
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: L Integrity Low
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-2025-49913 is a Missing Authorization vulnerability in the CoSchedule WordPress plugin (coschedule-by-todaymade), affecting versions up to and including 3.4.0. This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized data access or modification. The vulnerability is classified as a WordPress ecosystem issue and does not involve Apache or Nginx misconfigurations.

The vulnerability has a CVSS score of 5.3 (Medium) and a low EPSS score of 0.0%, indicating a low probability of active exploitation in the wild. However, due to the lack of a confirmed patch, organizations using this plugin should treat it as a high-priority risk.

⚡ 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 NPM, PyPI, Go, or Ruby packages are involved. The plugin is installed directly into WordPress sites, and the risk is limited to the WordPress ecosystem.

CVSS Breakdown & Threat Level

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

Threat Level: Medium. The vulnerability is exploitable without authentication, but the impact is limited to low confidentiality and integrity loss. No availability impact is expected.

Deep Dive & Mechanics

The vulnerability resides in the CoSchedule plugin's access control mechanisms. The plugin fails to properly validate user permissions when processing certain API requests or administrative actions. This allows an attacker to bypass authorization checks and perform actions that should be restricted to authenticated users with specific roles.

Root Cause: The plugin uses incorrectly configured access control security levels, likely due to missing capability checks in WordPress AJAX handlers or REST API endpoints. This is a classic CWE-862: Missing Authorization issue.

Attack Vector: An unauthenticated attacker can send crafted HTTP requests to the vulnerable endpoints, gaining unauthorized access to plugin features or data.

Impact: Successful exploitation could allow an attacker to:

  • View or modify plugin settings.
  • Access sensitive data managed by the plugin (e.g., scheduling information, user data).
  • Perform actions that disrupt the plugin's intended functionality.

Vulnerable vs. Patched Code

Since no patch is available, the following is a hypothetical comparison based on common fixes for missing authorization vulnerabilities.

Vulnerable Code (WordPress AJAX handler):

add_action('wp_ajax_coschedule_update_settings', 'coschedule_update_settings');
add_action('wp_ajax_nopriv_coschedule_update_settings', 'coschedule_update_settings');

function coschedule_update_settings() {
    // Missing capability check
    update_option('coschedule_settings', $_POST['settings']);
    wp_send_json_success();
}

Patched Code (Hypothetical):

add_action('wp_ajax_coschedule_update_settings', 'coschedule_update_settings');
// Remove the nopriv action to require authentication

function coschedule_update_settings() {
    // Add capability check
    if (!current_user_can('manage_options')) {
        wp_die('Unauthorized', 403);
    }
    update_option('coschedule_settings', $_POST['settings']);
    wp_send_json_success();
}

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with CoSchedule plugin version <= 3.4.0 installed and activated.
  • Network access to the target site.

Exploitation Steps:

  1. Identify vulnerable endpoints by analyzing the plugin's source code or using a web application scanner.
  2. Send a crafted HTTP request to the vulnerable endpoint without authentication.

Example Request (using cURL):

curl -X POST https://target.com/wp-admin/admin-ajax.php \
  -d "action=coschedule_update_settings&settings[api_key]=attacker_key"

Expected Outcome: The attacker can modify plugin settings without authentication.

Blue Team (Detection & Defense)

Detection:

  • Monitor for unauthorized access to AJAX endpoints associated with the CoSchedule plugin.
  • Look for requests to admin-ajax.php with action parameters starting with coschedule_ from unauthenticated sources.

Defense:

  • Immediately disable or remove the CoSchedule plugin until a patch is available.
  • Implement a Web Application Firewall (WAF) rule to block requests to vulnerable endpoints from unauthenticated users.
  • Restrict access to wp-admin and admin-ajax.php using IP whitelisting or VPN.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests to /wp-admin/admin-ajax.php with action=coschedule_* parameters from unauthenticated IPs.
    • Unusual changes to plugin settings without corresponding admin user activity.
  • File IOCs:

    • Modified plugin files in /wp-content/plugins/coschedule-by-todaymade/.
    • Unexpected entries in the wp_options table with the coschedule_ prefix.
  • Log IOCs:

    • WordPress debug logs showing failed capability checks or unauthorized access attempts.
    • Web server access logs with 200 responses to admin-ajax.php from unauthenticated requests.

Detection Engineering

YARA Rule

rule CVE_2025_49913_Coschedule_Missing_Auth {
    meta:
        description = "Detects missing authorization in CoSchedule plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-49913"
    strings:
        $vuln_func = "coschedule_update_settings" nocase
        $vuln_hook = "wp_ajax_nopriv_coschedule" nocase
    condition:
        $vuln_func or $vuln_hook
}

Sigma Rule

title: CVE-2025-49913 - CoSchedule Missing Authorization
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects exploitation attempts against CVE-2025-49913
author: Valters IT
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'admin-ajax.php'
        cs-uri-query|contains: 'action=coschedule_'
    condition: selection
falsepositives:
    - Legitimate admin actions (requires authentication)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-49913 - CoSchedule Missing Authorization Exploit";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"admin-ajax.php"; http_uri;
    content:"action=coschedule_"; http_client_body;
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
    reference:cve,2025-49913;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin: Deactivate and remove the CoSchedule plugin from all WordPress installations until a patched version is released.
  2. Monitor logs: Review web server and WordPress logs for signs of exploitation.
  3. Implement WAF rules: Block requests to admin-ajax.php with action=coschedule_* from unauthenticated sources.

Long-term Fix:

  • Apply the official patch once released by the vendor.
  • If no patch is forthcoming, consider replacing the plugin with an alternative solution.

Workarounds:

  • Use a security plugin (e.g., Wordfence) to add additional access control checks.
  • Modify the plugin code manually to add capability checks (not recommended for non-developers).

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:"CoSchedule"
http.html:"coschedule-by-todaymade"

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