☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Iqonic logo [ WEBSITE ] [ 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-862
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-35659

CVE-2024-35659 Missing Authorization in Iqonic
📅 PUBLISHED: 2024-06-08 16: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.23%
👁️
0.23% probability
5.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: 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: 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-2024-35659 is a Missing Authorization vulnerability in the Iqonic KiviCare WordPress plugin (clinic management system). This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized access to sensitive data or functionality. The vulnerability affects all versions up to and including 3.6.6. As of this report, no official patch has been released, and no public proof-of-concept (PoC) or exploit code is available. The CVSS score is 5.3 (Medium), with a low EPSS probability of exploitation (0.0%). This is a WordPress ecosystem issue, not related to Apache or Nginx.

⚡ 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 resides in a WordPress plugin distributed via the official WordPress plugin repository and third-party marketplaces. Organizations using KiviCare should treat this as a supply chain risk, as the plugin may be bundled in managed WordPress hosting environments or custom deployments. No OSV or GitHub advisory data is available, and the patch status remains unknown.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Base Score: 5.3 (Medium)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited information disclosure.
  • Integrity Impact: None (I:N) – No data modification.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Medium. While the CVSS score is moderate, the lack of a patch and the potential for data exposure in a healthcare context elevates the risk for organizations using KiviCare.

Deep Dive & Mechanics

The vulnerability stems from Missing Authorization (CWE-862) in the KiviCare plugin. The plugin fails to properly enforce access control checks on certain REST API endpoints or AJAX actions, allowing unauthenticated users to access functionality intended for authenticated roles (e.g., clinic staff, administrators). This could include:

  • Viewing patient records or appointment data.
  • Accessing configuration settings.
  • Triggering privileged operations without proper capability checks.

The exact vulnerable endpoint is not publicly documented, but based on the CWE, it likely involves a function that does not call current_user_can() or wp_verify_nonce() before processing requests. The plugin’s architecture uses custom post types and REST routes, which may have been left unprotected.

Vulnerable vs. Patched Code

Since no patch is available, a hypothetical fix would involve adding capability checks to all REST API endpoints and AJAX handlers. Below is an example of vulnerable vs. patched code for a typical WordPress plugin endpoint.

Vulnerable Code (e.g., in includes/class-kivicare-api.php):

add_action('rest_api_init', function () {
    register_rest_route('kivicare/v1', '/appointments', array(
        'methods' => 'GET',
        'callback' => 'kivicare_get_appointments',
    ));
});

function kivicare_get_appointments($request) {
    // No authorization check
    $appointments = get_posts(array('post_type' => 'kivicare_appointment'));
    return new WP_REST_Response($appointments, 200);
}

Patched Code (Hypothetical):

add_action('rest_api_init', function () {
    register_rest_route('kivicare/v1', '/appointments', array(
        'methods' => 'GET',
        'callback' => 'kivicare_get_appointments',
        'permission_callback' => function () {
            return current_user_can('edit_posts'); // Or appropriate capability
        }
    ));
});

function kivicare_get_appointments($request) {
    $appointments = get_posts(array('post_type' => 'kivicare_appointment'));
    return new WP_REST_Response($appointments, 200);
}

Exploitation & Lab Setup

Red Team

Objective: Exploit the missing authorization to access sensitive data.

Prerequisites:

  • A WordPress instance with KiviCare <= 3.6.6 installed and activated.
  • Network access to the WordPress site.

Steps:

  1. Identify the vulnerable endpoint. Common patterns include /wp-json/kivicare/v1/ or /wp-admin/admin-ajax.php?action=kivicare_*.
  2. Send an unauthenticated GET request to the endpoint:
    curl -X GET "http://target.com/wp-json/kivicare/v1/appointments" -H "User-Agent: Mozilla/5.0"
    
  3. If successful, the response will contain sensitive data (e.g., patient names, appointment dates) without requiring authentication.

Note: No public exploit code is available; this is a generic approach based on the CWE.

Blue Team

Detection:

  • Monitor for unauthenticated requests to /wp-json/kivicare/v1/* or admin-ajax.php with action=kivicare_* parameters.
  • Look for anomalous data access patterns from IPs not associated with authenticated users.

Hunting:

  • Search web server logs for requests to KiviCare REST endpoints without a valid X-WP-Nonce header or cookie.
  • Use the following Sigma rule to detect exploitation attempts.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Unauthenticated GET/POST requests to /wp-json/kivicare/v1/*
    • Requests to /wp-admin/admin-ajax.php with action=kivicare_* and no Cookie header.
  • File IOCs:
    • Plugin files in /wp-content/plugins/kivicare-clinic-management-system/ (version <= 3.6.6)
  • Log IOCs:
    • HTTP 200 responses to unauthenticated REST API calls that should require authentication.

Detection Engineering

YARA Rule

rule Detect_KiviCare_Missing_Auth {
    meta:
        description = "Detects KiviCare plugin files with missing authorization checks"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-35659"
    strings:
        $rest_route = /register_rest_route\s*\(\s*['\"]kivicare\/v1['\"]/
        $no_permission = !"permission_callback"
        $ajax_action = /add_action\s*\(\s*['\"]wp_ajax_nopriv_kivicare/
    condition:
        ($rest_route and $no_permission) or $ajax_action
}

Sigma Rule

title: Unauthenticated Access to KiviCare REST API
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects unauthenticated requests to KiviCare REST API endpoints
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem|startswith: '/wp-json/kivicare/v1/'
        cs-uri-query|contains: 'rest_route'
    condition: selection
falsepositives:
    - Legitimate unauthenticated endpoints (if any)
level: medium

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2024-35659 - KiviCare Missing Authorization Attempt";
    flow:to_server,established;
    content:"/wp-json/kivicare/v1/"; http_uri;
    nocase;
    sid:1000001;
    rev:1;
    metadata:created_at 2025-04-10, updated_at 2025-04-10;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if not critical to operations, until a patch is released.
  2. Implement a Web Application Firewall (WAF) rule to block unauthenticated requests to /wp-json/kivicare/v1/* and admin-ajax.php?action=kivicare_*.
  3. Monitor logs for exploitation attempts using the provided Sigma and Suricata rules.

Long-Term Fix:

  • Apply the vendor patch when available (check the WordPress plugin repository or contact Iqonic).
  • If patching is not possible, consider forking the plugin and adding permission_callback to all REST routes and current_user_can() checks to AJAX handlers.

Workaround:

  • Use a WordPress security plugin (e.g., Wordfence, Sucuri) to add virtual patching for this vulnerability.

Valters IT

👁️ 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:"KiviCare"
http.html:"kivicare-clinic-management-system"

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