Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain KiviCare Doctor/Receptionist credentials
-
DeliverySend crafted API request to DoctorSessionController endpoint
-
ExploitInject SQL into orderby parameter
-
ExecutionBypass ORDER BY sanitization in KCQueryBuilder
-
ImpactExtract sensitive database rows including PHI and credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to hold a valid KiviCare application-level account at minimum Doctor role, OR a Receptionist or Clinic Admin role that grants the doctor_session_list capability - standard WordPress subscriber or editor roles are not sufficient. The attacker must be able to send authenticated HTTP requests to the KiviCare REST API endpoints handled by DoctorSessionController.php. The 'orderby' parameter must be accepted and processed by the vulnerable KCQueryBuilder path (at lines 245, 470, or 1283). No non-default configuration is required beyond having the plugin installed and active. What limits exploitation: the requirement for a legitimate KiviCare clinical account prevents unauthenticated mass exploitation; impact is read-only (no database writes confirmed); and the plugin's niche healthcare deployment base limits the pool of potential attackers with relevant credentials. |
| Impact | CVSS 3.1 rates this 6.5 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, reflecting network-reachable exploitation with low complexity but requiring a low-privilege authenticated account. The PR:L requirement is a meaningful barrier here: an attacker must hold a KiviCare Doctor, Receptionist, or Clinic Admin account - not merely a WordPress subscriber account - reducing the unauthenticated attack surface significantly. No EPSS data was provided; no CISA KEV listing exists; no public POC has been identified. Despite the moderate CVSS score, the C:H rating is operationally critical for healthcare deployments because the exfiltrated data includes protected health information (PHI) subject to HIPAA and equivalent regulations, meaning a successful attack carries regulatory and legal consequences beyond technical impact alone. The I:N and A:N ratings confirm this is read-only extraction; no data modification or service disruption has been demonstrated. Real-world priority should be elevated for healthcare organizations running this plugin, but the authentication prerequisite limits opportunistic mass exploitation. |
| Exploit ScenarioDerived | An attacker who has obtained or created a KiviCare Doctor-level account - whether through credential theft, insider access, or social engineering - sends a crafted API request to a DoctorSessionController endpoint, injecting a SQL subquery into the 'orderby' parameter. The unsanitized parameter is passed directly into the ORDER BY clause of an existing query via KCQueryBuilder, allowing the attacker to use UNION-based extraction or conditional expressions to dump arbitrary tables including WordPress user password hashes, patient records, and appointment histories. No public POC has been identified, but the source code references published by Wordfence expose the exact vulnerable lines, significantly lowering the bar for exploit development. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 11, 2026
SQL injection in KiviCare - Clinic & Patient Management System (EHR) plugin for WordPress (all versions through 4.5.0) allows authenticated attackers with doctor-level or equivalent access to exfiltrate arbitrary database contents via a manipulated 'orderby' parameter. The flaw exists in DoctorSessionController.php and the KCQueryBuilder base class, where ORDER BY clause inputs are neither escaped nor parameterized, enabling appended SQL to traverse the entire WordPress database - including patient records, credentials, and clinical data. No public exploit code or active exploitation has been identified at time of analysis, though Wordfence has disclosed the vulnerability with source code references.
RemediationAI
Update the KiviCare plugin to the version released after the upstream SVN changeset 3602561, visible at https://plugins.trac.wordpress.org/changeset?reponame=&old=3602561%40kivicare-clinic-management-system&new=3602561%40kivicare-clinic-management-system - the exact patched version number is not confirmed in available data, so verify the current WordPress plugin repository release. As an immediate compensating control, restrict access to KiviCare's REST API endpoints (specifically those served by DoctorSessionController) to authenticated internal networks using WordPress or web-server-level IP allowlisting, which reduces exposure to external attackers who may have obtained low-privilege credentials via phishing or credential stuffing. Audit KiviCare user accounts to ensure only legitimate clinical staff hold Doctor, Receptionist, or Clinic Admin roles, and remove or deactivate accounts for former employees. Review database access logs for anomalous SELECT queries with UNION or ORDER BY patterns against KiviCare tables. Given the PHI exposure risk, incident response plans and breach notification procedures should be reviewed in parallel with patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability (CWE-89: SQL Injection) resides in the KiviCare WordPress plugin developed by IQonic Design, identified by CPE cpe:2.3:a:iqonicdesign:kivicare_-_clinic_&_patient_management_system_(ehr). The injection point is the 'orderby' HTTP parameter processed by the REST API layer in DoctorSessionController.php (at least lines 87, 1208, and 1282) and routed through KCQueryBuilder.php (at lines 245, 470, and 1283). ORDER BY injection is a class of SQL injection where the attacker injects into a SQL ORDER BY clause; because parameterized queries cannot safely bind column/order values as literals, unsanitized ORDER BY inputs allow UNION-based, subquery, or conditional-timing extraction of arbitrary rows from the database. The plugin manages electronic health records in a clinical setting, making the database contents - patient PII, medical histories, appointment data, and WordPress user credentials - especially sensitive.
Know when Wordpress Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network-reachable via REST API, low complexity, but PR:L required since exploitation demands a valid KiviCare clinical role; confidentiality-only impact confirmed by ORDER BY injection class.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The KiviCare - Clinic & Patient Management System (EHR) plugin for WordPress is vulnerable to generic SQL Injection via the 'orderby' parameter in all versions up to, and including, 4.5.0 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with doctor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This requires that the attacker hold at minimum a KiviCare Doctor-level account, or a Receptionist or Clinic Admin role that grants the doctor_session_list capability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
Related Vulnerabilities in KiviCare EHR Plugin SQL Injection Flaws
View all 2More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-43127
GHSA-6745-cr96-xcqp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB