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

CVE-2025-67472

CVE-2025-67472 Cross-Site Request Forgery in Vcita
📅 PUBLISHED: 2025-12-09 16:18 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.02%
👁️
0.02% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
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 4.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: N Confidentiality None
I: L Integrity Low
A: N Availability None
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-67472 identifies a Cross-Site Request Forgery (CSRF) vulnerability in the Vcita Online Booking & Scheduling Calendar for WordPress plugin (meeting-scheduler-by-vcita), affecting versions up to and including 4.5.5. This flaw allows an attacker to trick an authenticated administrator into unknowingly executing unwanted actions on the WordPress site, such as modifying plugin settings, deactivating the plugin, or changing booking configurations. The vulnerability is classified as a WordPress ecosystem issue, as it resides entirely within the plugin's codebase and does not involve the underlying web server (Apache/Nginx). No public proof-of-concept (PoC) or exploit code has been released, and the vendor has not yet provided a patch.

⚡ 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 plugin ecosystem. The plugin is distributed through the official WordPress Plugin Directory and is also available for direct download from the vendor's site. Users are advised to monitor the plugin's update channel for a patched version. Since no patch is currently available, the primary mitigation is to disable the plugin until a fix is released.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Base Score: 4.3 (Medium)
  • Attack Vector (AV): Network – The attack can be launched remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need to be authenticated.
  • User Interaction (UI): Required – The victim (admin) must click a malicious link or visit a crafted page.
  • Scope (S): Unchanged – The vulnerable component and the attacker's scope remain the same.
  • Confidentiality (C): None – No data is exposed.
  • Integrity (I): Low – The attacker can modify plugin settings or perform state-changing actions.
  • Availability (A): None – No denial-of-service impact.

Threat Level: Medium. The requirement for user interaction reduces the likelihood of automated exploitation, but the potential for unauthorized configuration changes makes this a significant risk for WordPress sites using the plugin.

Deep Dive & Mechanics

The vulnerability lies in the plugin's failure to implement proper CSRF tokens (nonces) on state-changing requests. In WordPress, CSRF protection is typically enforced by including a nonce in forms and AJAX requests. The Vcita plugin, in versions <= 4.5.5, does not validate these tokens on critical administrative actions, such as:

  • Updating API keys or connection settings.
  • Modifying booking calendar configurations.
  • Enabling or disabling specific features.
  • Deactivating the plugin.

An attacker can craft a malicious HTML page that, when visited by an authenticated WordPress admin, automatically submits a forged request to the vulnerable endpoint. Because the admin's browser includes their session cookies, the server processes the request as legitimate.

The attack flow:

  1. Attacker identifies a target WordPress site running the vulnerable plugin.
  2. Attacker crafts a CSRF payload (e.g., a hidden form or an image tag with a crafted URL) that targets a specific admin action.
  3. Attacker lures the admin to visit the malicious page (via phishing, social engineering, or cross-site scripting on another site).
  4. The admin's browser sends the forged request with valid cookies.
  5. The plugin executes the action without verifying the request's origin.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is presumed to be missing nonce verification. A typical vulnerable pattern in WordPress plugins is:

Vulnerable (<= 4.5.5):

// No nonce check
add_action('wp_ajax_vcita_update_settings', 'vcita_update_settings_callback');
function vcita_update_settings_callback() {
    // Process and save settings directly
    update_option('vcita_api_key', $_POST['api_key']);
    wp_die();
}

Patched (hypothetical):

add_action('wp_ajax_vcita_update_settings', 'vcita_update_settings_callback');
function vcita_update_settings_callback() {
    // Verify nonce
    if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'vcita_update_settings')) {
        wp_die('CSRF validation failed.');
    }
    // Process and save settings
    update_option('vcita_api_key', sanitize_text_field($_POST['api_key']));
    wp_die();
}

The patched version would include wp_verify_nonce() and check_ajax_referer() calls on all state-changing endpoints.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Lab Environment:

  • WordPress 6.x with Vcita plugin version 4.5.5.
  • Admin user logged in (session cookie present).
  • Attacker-controlled web server to host the CSRF payload.

Exploitation Steps:

  1. Identify the vulnerable endpoint. For example, the plugin might use admin-post.php?action=vcita_reset_settings.
  2. Craft a CSRF payload. Since no public exploit exists, a generic example is provided:
<html>
<body>
<form action="http://target-site.com/wp-admin/admin-post.php" method="POST">
    <input type="hidden" name="action" value="vcita_reset_settings" />
    <input type="hidden" name="confirm" value="1" />
    <input type="submit" value="Click me" />
</form>
<script>
    document.forms[0].submit();
</script>
</body>
</html>
  1. Host the HTML file on the attacker's server.
  2. Send the link to the admin via email or social engineering.
  3. Once the admin visits the page, the form auto-submits, resetting the plugin settings.

Note: The exact parameter names and actions depend on the plugin's code. An attacker would need to reverse-engineer the plugin to find specific endpoints.

Blue Team (Defense & Detection)

Detection:

  • Monitor for unusual POST requests to wp-admin/admin-post.php or wp-admin/admin-ajax.php with actions related to Vcita.
  • Look for requests with missing or invalid _wpnonce parameters.
  • Alert on multiple failed nonce validation attempts.

Prevention:

  • Disable the plugin until a patch is available.
  • Implement a Web Application Firewall (WAF) rule to block requests to Vcita endpoints without a valid nonce.
  • Use the WordPress check_admin_referer() function in custom code.
  • Educate administrators about phishing attacks that target CSRF vulnerabilities.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /wp-admin/admin-post.php with action=vcita_* parameters.
    • Referer headers from external domains (indicating CSRF).
  • File IOCs:
    • Modified plugin settings in the wp_options table (e.g., vcita_api_key, vcita_calendar_config).
  • Log IOCs:
    • WordPress debug log entries showing unexpected plugin setting changes.
    • Server access logs with POST requests to admin endpoints from unusual IPs.

Detection Engineering

YARA Rule

rule Detect_Vcita_CSRF_Vulnerability {
    meta:
        description = "Detects vulnerable Vcita plugin files missing nonce checks"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-67472"
    strings:
        $vuln_func = "add_action('wp_ajax_" nocase
        $no_nonce = "wp_verify_nonce" nocase
        $no_check = "check_ajax_referer" nocase
    condition:
        $vuln_func and not ($no_nonce or $no_check)
}

Sigma Rule

title: Vcita Plugin CSRF Exploitation Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects potential CSRF attacks against Vcita booking plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri|contains: '/wp-admin/admin-post.php'
        cs-uri-query|contains: 'action=vcita_'
    condition: selection
falsepositives:
    - Legitimate admin actions
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-67472 Vcita Plugin CSRF Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/wp-admin/admin-post.php"; http_uri;
    content:"action=vcita_"; http_client_body;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patched version is released.
  2. Review WordPress user roles and ensure only trusted administrators have access.
  3. Implement a WAF rule to block requests to Vcita endpoints without a valid nonce.

Long-Term Fix:

  • The vendor must release a patched version (e.g., 4.5.6) that includes proper CSRF nonce verification on all admin actions.
  • Users should update to the latest version as soon as it becomes available.

Workaround:

  • If the plugin cannot be disabled, add a custom function to the theme's functions.php to enforce nonce checks:
add_action('init', 'vcita_csrf_workaround');
function vcita_csrf_workaround() {
    if (defined('DOING_AJAX') && DOING_AJAX) {
        $action = $_REQUEST['action'] ?? '';
        if (strpos($action, 'vcita_') === 0) {
            check_ajax_referer($action, '_wpnonce');
        }
    }
}

Valters IT – Securing WordPress ecosystems one plugin at a time.

👁️ 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:"vcita"
http.html:"vcita"
http.html:"meeting-scheduler-by-vcita"

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