Összefoglaló
Az OpenEMR több sérülékenységét jelentették, amiket kihasználva a rosszindulatú felhasználók SQL befecskendezéses (SQL injection) támadásokat indíthatnak, illetve a támadók cross-site scripting (XSS/CSS) támadásokat hajthatnak végre, valamint feltörhetik a sérülékeny rendszert.
Leírás
- A library/openflashchart/php-ofc-library/ofc_upload_image.php script lehetővé teszi, hogy a webroot könyvtáron belüli mappákba tetszőleges kiterjesztésű állományokat lehessen feltölteni. Ezt kihasználva tetszőleges PHP kódot lehet végrehajtani egy káros tartalmú PHP script feltöltésével.
- Az interface/main/calendar/index.php részére a “provider_id” és “pc_category” GET paraméterekkel átadott bemeneti adatok (amikor a “module” “PostCalendar” és a “func” “search” értékre van állítva) nem megfelelően vannak megtisztítva, mielőtt SQL lekérdezésekben felhasználásra kerülnének. Ezt kihasználva módosítani lehet az SQL lekérdezéseket tetszőleges SQL parancsok befecskendezésével.
- Az interface/reports/chart_location_activity.php részére a “form_patient_id” GET paraméterrel átadott bemeneti adatok nem megfelelően vannak megtisztítva, mielőtt SQL lekérdezésekben felhasználásra kerülnének. Ezt kihasználva módosítani lehet az SQL lekérdezéseket tetszőleges SQL parancsok befecskendezésével.
- Az interface/main/calendar/index.php részére a “tplview”, “pc_category” és a “pc_topic” GET paraméterekkel átadott bemeneti adatok nem megfelelően vannak megtisztítva, mielőtt a felhasználó számra visszaadásra kerülnének. Ezt kihasználva, tetszőleges HTML és script kódot lehet futtatni a felhasználó böngészőjének munkamenetében az érintett oldal vonatkozásában.
- Az interface/main/messages/messages.php részére a “noteid” POST paraméterrel átadott bemeneti adat nem megfelelően van megtisztítva (amikor a “task” “add” értékre van állítva), mielőtt a felhasználó számára hibaüzenetben megjelenítésre kerülne. Ezt kihasználva, tetszőleges HTML és script kódot lehet futtatni a felhasználó böngészőjének munkamenetében az érintett oldal vonatkozásában.
- Az interface/main/messages/messages.php részére a “sortby”, “sortorder” és “begin” GET paraméterekkel átadott bemeneti adatok nem megfelelően vannak megtisztítva, mielőtt a felhasználó számra visszaadásra kerülnének. Ezt kihasználva, tetszőleges HTML és script kódot lehet futtatni a felhasználó böngészőjének munkamenetében az érintett oldal vonatkozásában.
- Az interface/main/messages/messages.php részére a “sortby”, “sortorder” és “begin GET paraméterekkel átadott bemeneti adatok nem megfelelően vannak megtisztítva, mielőtt SQL lekérdezésekben felhasználásra kerülnének. Ezt kihasználva módosítani lehet az SQL lekérdezéseket tetszőleges SQL parancsok befecskendezésével.
A sérülékenységeket a 4.1.1 verzióban jelentették, de egyéb kiadások is érintettek lehetnek.
Megoldás
IsmeretlenTámadás típusa
Input manipulation (Bemenet módosítás)Hatás
Loss of availability (Elérhetőség elvesztése)Loss of confidentiality (Bizalmasság elvesztése)
Loss of integrity (Sértetlenség elvesztése)
Szükséges hozzáférés
Remote/Network (Távoli/hálózat)Hivatkozások
SECUNIA 52145
Egyéb referencia: www.zeroscience.mk
Egyéb referencia: packetstormsecurity.org