OpenEMR - CVE-2026-102940

Date de publication :

Il s’agit d’une vulnérabilité dans le contrôleur de documents classique d’OpenEMR, dans le fichier C_Document.class.php.

OpenEMR est une application libre de dossier médical électronique et de gestion de cabinet médical.

Les actions d’écriture, dont move_action_process(), ne vérifient pas l’accès à la source du document, ni au patient ou à la catégorie de départ et de destination. La fonction Document::change_patient() modifie donc le document sans contrôle des droits. Un utilisateur authentifié à faibles privilèges réaffecte alors un document quelconque à un patient ou à une catégorie qu’il peut consulter. Il le lit ensuite par le chemin de lecture normal, protégé. La réaffectation est faite avant le contrôle d’affichage de la liste, donc une réponse HTTP 403 finale n’indique pas que l’écriture a été bloquée.

Elle permet de contourner le contrôle d’accès aux documents des patients, avec lecture et modification non autorisées de données de santé.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Non

Risques

•   Atteinte à la confidentialité des données
•   Atteinte à l'intégrité des données

Exploitation

La vulnérabilité exploitée est du type
CWE-639 : Authorization Bypass Through User-Controlled Key

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur simple
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Une preuve de concept est disponible en sources ouvertes.

Systèmes ou composants affectés

OpenEMR versions antérieures à 8.4.0

Solutions ou recommandations

OpenEMR versions 8.4.1 et supérieures