CVE-2026-11990: KiviCare Authorization Bypass Allows Unauthenticated Appointment & Payment Fraud
KiviCare, a WordPress plugin for managing medical clinics and patient records, contains a flaw that allows attackers to bypass security checks. An attacker can mark pending appointments as confirmed and create fake payment records without actually paying, essentially allowing them to schedule appointments and forge evidence of payment. This works on standard installations because the plugin shows all payment methods even those disabled by administrators, making it easy to exploit.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weaknesses (CWE)
- CWE-862
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-10 / 2026-07-10
NVD description (verbatim)
The KiviCare – Clinic & Patient Management System (EHR) plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.4.0. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to mark arbitrary pending appointments as Confirmed and forge an associated completed payment record in wp_kc_payments_appointment_mappings using an attacker-supplied payment ID, bypassing payment entirely. This exploit is achievable on a default installation because the gateway resolution logic returns all registered gateways regardless of admin-enabled status, making the manual (KCPayLater) gateway always selectable.
12 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-11990 is an authorization bypass vulnerability (CWE-862) in KiviCare versions up to 4.4.0 stemming from insufficient access control verification. Unauthenticated attackers can invoke the appointment confirmation endpoint without proper privilege checks, modifying the appointment status to 'Confirmed'. Simultaneously, they can inject arbitrary payment ID values into the wp_kc_payments_appointment_mappings table, simulating a completed payment transaction. The vulnerability is particularly severe because the gateway resolution logic returns all registered payment gateways irrespective of admin configuration flags, meaning the KCPayLater manual payment method remains available for exploitation even when administratively disabled. This allows attackers to completely circumvent the payment validation workflow on default configurations.
Business impact
Healthcare providers using KiviCare face revenue loss through appointment fraud—attackers can confirm appointments and bypass payment obligations entirely. Patient trust and data integrity are at risk if appointment records are manipulated by unauthorized parties. Compliance implications may arise if patient scheduling records are altered without audit trails. The reputational damage from a breach involving patient-facing scheduling and payment systems could be significant, particularly for smaller clinics lacking robust compensating controls.
Affected systems
WordPress installations running the KiviCare plugin in any version up to and including 4.4.0 are affected. The vulnerability is exploitable on default installations without additional configuration or authentication. Any clinic or healthcare provider deploying KiviCare for appointment and payment management is at risk.
Exploitability
Exploitability is high due to the unauthenticated, network-accessible nature of the vulnerability. No authentication is required, the attack has low complexity (straightforward HTTP requests to appointment and payment endpoints), and no user interaction is needed. The manual payment gateway is enabled by default regardless of administrator preferences, making the attack viable on standard deployments immediately upon installation. The CVSS 3.1 score of 5.3 (Medium) reflects integrity impact (forged payments) without confidentiality or availability loss, but the practical business risk is substantial.
Remediation
Immediately update KiviCare to a patched version released after 4.4.0. Verify the specific version number against the KiviCare security advisories on WordPress.org. As a temporary compensating control pending patch deployment, restrict access to the KiviCare appointment and payment endpoints at the web server or WAF level to trusted IP ranges if operationally feasible. Audit wp_kc_payments_appointment_mappings for suspicious payment records created before patching and reconcile against actual payments received.
Patch guidance
Check the KiviCare plugin repository on WordPress.org for version 4.4.1 or later, which should address the authorization bypass. Verify the patch notes confirm fixes to both appointment confirmation access control and payment gateway enumeration. Apply the update through the WordPress admin dashboard once available, and perform a brief smoke test on the appointment booking and payment flow. If a patch is not yet available, contact KiviCare support for an estimated timeline and interim security recommendations.
Detection guidance
Monitor web server and application logs for POST requests to appointment confirmation endpoints (typically /wp-admin/admin-ajax.php with actions related to appointment status updates) originating from unauthenticated sessions. Flag any writes to wp_kc_payments_appointment_mappings table where no corresponding transaction log or payment gateway confirmation exists. Query WordPress user metadata to identify any appointment records modified by unauthenticated users or system processes. Implement alerting on bulk appointment status changes in short time windows, which may indicate automated exploitation. Review audit logs for payment records with manually-assigned payment IDs that do not match legitimate gateway transaction references.
Why prioritize this
Although rated CVSS 5.3 (Medium), this vulnerability warrants high prioritization because it directly enables revenue theft and patient record manipulation in a healthcare context. The attack requires no authentication, has low complexity, and is readily exploitable on default installations. For any organization running KiviCare, this should be patched immediately or mitigated with access controls. The integrity impact to patient-facing systems and financial records elevates practical risk beyond the numerical score.
Risk score, explained
The CVSS 5.3 score reflects the integrity impact (forged payments) and network-accessible unauthenticated attack vector. However, the score does not fully capture the business and compliance consequences of allowing attackers to manipulate healthcare appointment and payment records. The lack of confidentiality or availability impact caps the severity score, but organizations should interpret this vulnerability as a critical business risk and prioritize patching accordingly.
Frequently asked questions
Can this be exploited if we require users to log in before booking?
No. The vulnerability exists in the lack of authorization checks on appointment confirmation and payment endpoints. If your WordPress site enforces authentication before users reach those endpoints, you add a layer of defense, but you should still patch to fix the root cause. Many clinic websites allow unauthenticated browsing and only require login for specific actions, so this compensating control may not apply.
What if we have disabled the manual payment gateway in settings?
The vulnerability exists because the gateway enumeration logic ignores the admin-disabled flag and returns all gateways anyway. Simply disabling the gateway in settings does not prevent an attacker from specifying it in their request. You must patch the plugin to fix the underlying code flaw.
Should we audit old appointment and payment records?
Yes. After patching, query your wp_kc_payments_appointment_mappings table for any payment records that lack corresponding gateway transaction logs or receipt documentation. Cross-reference appointment confirmations with your actual patient check-ins and revenue records. Look for appointment records created during any period when the plugin was running unpatched and verified attackers may have had access.
Is there a workaround until a patch is available?
If patching is delayed, implement IP-based access restrictions on WordPress admin and appointment processing endpoints using a Web Application Firewall (WAF) or network-level controls. Restrict access to trusted clinic networks only. Additionally, monitor appointment confirmations for suspicious patterns (e.g., multiple confirms in rapid succession from the same IP). These are temporary measures and should not delay patching once a version is available.
This analysis is provided for informational and defensive security purposes. No exploit code, automated exploitation tools, or weaponized proof-of-concept instructions are included. Organizations must validate all technical details against official KiviCare security advisories and vendor guidance before implementing remediation. Patch version numbers should be verified against the WordPress plugin repository and KiviCare's official communications. Legal and compliance obligations vary by jurisdiction; consult your legal and compliance teams regarding incident response and record retention requirements. SEC.co and its analysts assume no liability for the accuracy or applicability of this guidance to your specific environment. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2022-42479MEDIUMMissing Authorization in TemplateHouse Soledad – MEDIUM Severity Access Control Bypass
- CVE-2022-45813MEDIUMBeRocket Advanced AJAX Product Filters Missing Authorization Flaw
- CVE-2023-25969MEDIUMMissing Authorization in ThemeHunk Contact Form Plugin
- CVE-2023-32959MEDIUMMetroStore Missing Authorization Vulnerability – Patch Guide
- CVE-2024-24709MEDIUMShareaholic Missing Authorization Vulnerability – Update Required
- CVE-2024-31435MEDIUMMissing Authorization in Inisev Social Media & Share Icons Plugin—Patch Guidance
- CVE-2024-33685MEDIUMMissing Authorization in Jegstudio Startupzy 1.1.1 – MEDIUM Severity Vulnerability
- CVE-2024-33909MEDIUMMissing Authorization in Avirtum iPages Flipbook – CVSS 5.3 Patch Guide