CVE-2026-11990

KiviCare <= 4.4.0 - Missing Authorization to Unauthenticated Payment Bypass and Appointment Status Manipulation via /payment-success REST Endpoint

Published Jul 10, 2026 CVSS 3.1 · 5.3 Medium EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical 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.

Remediation

No solution or workaround provided in the CVE record.

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 August 1, 2026 at 12:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

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

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

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
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'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
Wordfence
Published
Updated
Jul 10, 2026, 6:16 PM
Reserved
Jun 11, 2026, 2:38 PM
Status
Deferred
Published
Jul 10, 2026, 10:16 AM
Modified
Jul 10, 2026, 7:17 PM