Skip to content
Heist/ feed
Back to feed
High

OpenEMR's Document and Insurance REST Endpoints Skip ACL

Type: advisorySources: OSV

OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the REST API route table in `apis/routes/_rest_routes_standard.inc.php` does not call `RestConfig::request_authorization_check()` for the document and insurance routes. Other patient routes in the same file (e.g. encounters, patients/med) call it with the appropriate ACL. As a result, any valid API bearer token can access or modify every patient's documents and insurance data, regardless of the token’s OpenEMR ACLs—effectively exposing all document and insurance PHI to any authenticated API client. Version 8.0.0 patches the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-25164
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 18:31 UTC · Revision 1

Source evidence

OpenEMR's Document and Insurance REST Endpoints Skip ACL

core-osv · Original source

Published 25 Feb 2026, 18:22 UTC

OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the REST API route table in `apis/routes/_rest_routes_standard.inc.php` does not call `RestConfig::request_authorization_check()` for the document and insurance routes. Other patient routes in the same file (e.g. encounters, patients/med) call it with the appropriate ACL. As a result, any valid API bearer token can access or modify every patient's documents and insurance data, regardless of the token’s OpenEMR ACLs—effectively exposing all document and insurance PHI to any authenticated API client. Version 8.0.0 patches the issue.

osv:CVE-2026-25164
Complete source record
{
  "id": "a47987cbe779e8f970f71be418a70b86bf857f6479e126e7c6eacbd2840e8603",
  "url": "https://osv.dev/vulnerability/CVE-2026-25164",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "OpenEMR's Document and Insurance REST Endpoints Skip ACL",
    "summary": "OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the REST API route table in `apis/routes/_rest_routes_standard.inc.php` does not call `RestConfig::request_authorization_check()` for the document and insurance routes. Other patient routes in the same file (e.g. encounters, patients/med) call it with the appropriate ACL. As a result, any valid API bearer token can access or modify every patient's documents and insurance data, regardless of the token’s OpenEMR ACLs—effectively exposing all document and insurance PHI to any authenticated API client. Version 8.0.0 patches the issue.",
    "evidence": "osv:CVE-2026-25164",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-25164",
      "aliases": [
        "CVE-2026-25164",
        "GHSA-f64c-h2gh-g3f9"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/openemr/openemr",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b91b73600327acb46252b9fce7d04467eea126fd"
                },
                {
                  "fixed": "c5e1c44774156cd0d04f4e08ed6a81fe76d38e92"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "8.0.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c5e1c44774156cd0d04f4e08ed6a81fe76d38e92"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3_0_1",
            "v3_0_0",
            "v2_9_0",
            "v2_8_3",
            "v2_8_2",
            "v2_8_1",
            "v2_8_0",
            "v2_7_3-rc1",
            "v2_7_2",
            "v2_7_2-rc2",
            "v2_7_2-rc1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25164.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.514410145Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25164.json",
        "https://github.com/openemr/openemr/security/advisories/GHSA-f64c-h2gh-g3f9",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-25164",
        "https://github.com/openemr/openemr/commit/c5e1c44774156cd0d04f4e08ed6a81fe76d38e92"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-862"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25164.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-25164",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 488508,
  "published_at": "2026-02-25T18:22:40.693+00:00"
}