W aplikacji OpenEMR przed wersją 8.0.0 wykryto podatność typu SQL injection w endpoincie REST API służącym do obsługi danych pacjentów. Uwierzytelniony użytkownik posiadający dostęp do API może wykonać dowolne zapytania SQL, co grozi ujawnieniem chronionych danych medycznych (PHI) oraz przejęciem poświadczeń.
▸ Pokaż oryginał (EN)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, an SQL injection vulnerability in the Patient REST API endpoint allows authenticated users with API access to execute arbitrary SQL queries through the `_sort` parameter. This could potentially lead to database access, PHI (Protected Health Information) exposure, and credential compromise. The issue occurs when user-supplied sort field names are used in ORDER BY clauses without proper validation or identifier escaping. Version 8.0.0 fixes the issue.
Podatność wynika z braku walidacji i escapowania identyfikatorów dla nazw pól sortowania dostarczanych przez użytkownika w parametrze `_sort`. Wartość tego parametru jest bezpośrednio wstrzykiwana do klauzuli ORDER BY zapytania SQL bez odpowiedniego oczyszczenia. Atakujący z dostępem do API może w ten sposób manipulować logiką zapytań bazodanowych i odczytywać lub modyfikować dane przechowywane w bazie.
Atakujący może uzyskać nieautoryzowany dostęp do bazy danych aplikacji, w tym do chronionych danych medycznych pacjentów (PHI) oraz poświadczeń użytkowników systemu. W zależności od konfiguracji bazy danych możliwe jest również naruszenie integralności lub dostępności danych.
Należy zaktualizować OpenEMR do wersji 8.0.0, która zawiera poprawkę eliminującą opisaną podatność. Poprawka dostępna jest również w repozytorium projektu pod adresem wskazanym w referencjach (commit 943e23cad6e979f87cdf168807fce2a7b32dd194).
OpenEMR we wszystkich wersjach poprzedzających 8.0.0
Podatność wymaga uwierzytelnienia (PR:L), jednak zakres ataku obejmuje inne komponenty (S:C), co wpłynęło na ocenę CVSS 9.9. W środowiskach medycznych szczególnie istotne jest ryzyko naruszenia przepisów o ochronie danych wrażliwych (PHI) w związku z regulacjami takimi jak HIPAA.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HOpen Emr Openemr
APPOpen-Emr< 8.0.0
Powiązane podatności
Command Injection w funkcji backup OpenEMR (wersje przed 8.0.0.2)
OpenEMR: Wyciek klucza API bramki płatności do klienta w plaintext
OpenEMR: ujawnienie tokenów API MedEx bez uwierzytelnienia (Auth Bypass)
OpenEMR: path traversal umożliwia odczyt dowolnych plików przez uwierzytelnionego użytkownika
SQL Injection w OpenEMR 7.0.2 — krytyczna podatność w module aptecznym