VYPR
Medium severity4.3NVD Advisory· Published Jun 15, 2026

CVE-2026-12207

CVE-2026-12207

Description

An IDOR vulnerability in Medkey's REST API allows authenticated attackers to access any patient record by manipulating the patient ID parameter.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

An IDOR vulnerability in Medkey's REST API allows authenticated attackers to access any patient record by manipulating the patient ID parameter.

Vulnerability

An Insecure Direct Object Reference (IDOR) vulnerability exists in the Medkey open-source platform, affecting the function actionGetPatientById in the file app\modules\medical\port\rest\controllers\PatientController.php of the HTTP REST API component. The vulnerability impacts versions up to commit fc09b7ba9441ff590b72d428d5380834216b09ed. The function directly queries and returns patient records based solely on the user-supplied $id parameter without verifying that the authenticated session token belongs to the requested patient or an authorized medical professional. The parent class app\common\rest\ActiveController also lacks global row-level or object-level access validation wrappers, making any authenticated user able to access any patient record by modifying the id query parameter [1].

Exploitation

An attacker must have an authenticated session token for the REST API. The attacker can then send HTTP GET requests to the endpoint that calls actionGetPatientById and simply change the id parameter (e.g., from id=1 to id=2) to retrieve records of different patients without authorization. The exploit is publicly available and code fragments have been released [1].

Impact

Successful exploitation leads to unauthorized exfiltration of Protected Health Information (PHI), including sensitive medical history data, patient names, and active medical insurance policy details. This constitutes a high-impact disclosure of confidential patient data and a violation of healthcare data privacy regulations [1].

Mitigation

The vendor was contacted but did not respond, and as of the publication date no fix or advisory has been released. The product uses a rolling release system, so version information for patches is not disclosed. Users should isolate the REST API endpoint from untrusted networks and implement additional access controls, such as validating that the authenticated user has permission to access the requested patient record. No official workaround is available [1].

AI Insight generated on Jun 15, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1

Patches

0

No patches discovered yet.

Vulnerability mechanics

Root cause

"Missing authorization check on the user-supplied `$id` parameter in `actionGetPatientById` allows any authenticated user to access any patient record."

Attack vector

An authenticated attacker sends HTTP GET requests to the REST API endpoint that invokes `actionGetPatientById`, changing the `id` query parameter (e.g., from `id=1` to `id=2`). Because the server does not verify whether the session token is authorized for the requested patient record, the attacker can enumerate arbitrary patient identifiers and exfiltrate sensitive medical data. This is an Insecure Direct Object Reference (IDOR) vulnerability [CWE-639] [ref_id=1].

Affected code

The vulnerability resides in `app\modules\medical\port\rest\controllers\PatientController.php`, specifically the method `actionGetPatientById($id)`. This method directly queries patient records using the user-supplied `$id` parameter without verifying that the authenticated session is authorized to access that record. The parent class `app\common\rest\ActiveController` also lacks global row-level access validation [ref_id=1].

What the fix does

The advisory does not include a patch or diff. The recommended remediation is to implement authorization checks inside `actionGetPatientById($id)` that verify the authenticated user's session is linked to the requested patient record or that the user holds an appropriate role (e.g., treating physician). Additionally, row-level access control should be enforced in the parent class `ActiveController` to prevent similar IDOR issues across all REST endpoints [ref_id=1].

Preconditions

  • authAttacker must possess a valid authenticated session token for the Medkey application.
  • networkThe attacker must be able to send HTTP GET requests to the REST API endpoint that calls actionGetPatientById.

Generated on Jun 15, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.