Description
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.
Published: 2026-07-10
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The KiviCare – Clinic & Patient Management System plugin for WordPress contains a flaw that allows an unauthenticated actor to change the status of any pending appointment to Confirmed and to create a payment record that links the appointment with a payment ID supplied by the attacker. This bypasses the normal payment process and enables the attacker to obtain services or claim revenue without any real payment. The vulnerability stems from an absence of authorization checks on the appointment update logic, allowing the system to trust data supplied by an unauthenticated source.

Affected Systems

All publicly available releases of the KiviCare plugin from iqonicdesign that are version 4.4.0 or earlier are affected. The flaw is present in the core classes that handle payment gateway resolution and the controller that updates appointment status and writes payment mappings.

Risk and Exploitability

The CVSS score of 5.3 indicates a moderate severity, while the EPSS score of less than 1% suggests that exploit attempts are infrequent. The vulnerability is not listed in CISA’s KEV catalog. Attackers would need only network access to the target WordPress site and the ability to issue an unauthenticated HTTP request to the endpoint that updates appointment status, supplying an appointment identifier and a forged payment ID. Based on the description, it is inferred that the exploit would involve sending such a request, though the exact endpoint name is not provided in the release notes.

Generated by OpenCVE AI on July 29, 2026 at 11:04 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the KiviCare plugin to a version newer than 4.4.0 that contains the fix for this vulnerability
  • If an upgrade is not immediately possible, disable the KCPayLater payment gateway from the administrative settings to prevent unauthenticated users from selecting it
  • Restrict unauthenticated HTTP access to the API endpoint that updates appointment status and writes payment mapping records, using server‑side rules or a web‑application firewall
  • Add application‑level authorization checks that verify the requester is authenticated and authorized before allowing appointment status changes or payment record creation

Generated by OpenCVE AI on July 29, 2026 at 11:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
Link Providers
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.3.0/app/baseClasses/KCPaymentGatewayFactory.php#L131 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.3.0/app/controllers/api/AppointmentsController.php#L3931 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.3.0/app/controllers/api/AppointmentsController.php#L465 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.3.0/app/paymentGateways/KCPayLater.php#L109 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.3.0/app/services/KCAppointmentPaymentService.php#L32 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.4.0/app/baseClasses/KCPaymentGatewayFactory.php#L131 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.4.0/app/controllers/api/AppointmentsController.php#L3931 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.4.0/app/controllers/api/AppointmentsController.php#L465 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.4.0/app/paymentGateways/KCPayLater.php#L109 cve-icon
https://plugins.trac.wordpress.org/browser/kivicare-clinic-management-system/tags/4.4.0/app/services/KCAppointmentPaymentService.php#L32 cve-icon
https://plugins.trac.wordpress.org/changeset?reponame=&old=3599918%40kivicare-clinic-management-system&new=3599918%40kivicare-clinic-management-system cve-icon
https://www.wordfence.com/threat-intel/vulnerabilities/id/efe4223a-5c1a-401e-a46b-0278e96d2d71?source=cve cve-icon
History

Fri, 10 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 10 Jul 2026 13:15:00 +0000

Type Values Removed Values Added
First Time appeared Iqonicdesign
Iqonicdesign kivicare – Clinic & Patient Management System (ehr)
Wordpress
Wordpress wordpress
Vendors & Products Iqonicdesign
Iqonicdesign kivicare – Clinic & Patient Management System (ehr)
Wordpress
Wordpress wordpress

Fri, 10 Jul 2026 10:15:00 +0000

Type Values Removed Values Added
Description 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.
Title KiviCare <= 4.4.0 - Missing Authorization to Unauthenticated Payment Bypass and Appointment Status Manipulation via /payment-success REST Endpoint
Weaknesses CWE-862
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}


Subscriptions

Iqonicdesign Kivicare – Clinic & Patient Management System (ehr)
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-10T18:16:36.454Z

Reserved: 2026-06-11T14:38:19.971Z

Link: CVE-2026-11990

cve-icon Vulnrichment

Updated: 2026-07-10T18:16:32.152Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T11:15:04Z

Weaknesses