## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-WEZERY-CVE-2019-14530
# CVE-2019-14530
Path traversal и DoS уязвимость в проекте OpenEMR
**Уязвимая функция в файле:** /openemr/custom/ajax_download.php
**Условия:**
1. любой авторизованный пользователь
2. для случая DoS: директория "/sites/default/documents/cqm_qrda/" должна существовать на сервере (Из-за логики функции "unlink()" путь к файлу должен состоять только из существующих директорий и файла в ней.)
**Уязвимые версии:** <5.0.2, исправлено в версии 5.0.2.
## Описание
Уязвимая переменная в этой функции: `fileName`, она может контролироваться атакующим, и отсутствует какая-либо фильтрация и проверка.
Атакующий может скачать любой файл (который читаем пользователем www-data) из хранилища сервера.
Если запрашиваемый файл доступен для записи пользователю www-data и директория `/var/www/openemr/sites/default/documents/cqm_qrda/` существует, он будет удалён с сервера.
Несуществующая директория не является большой проблемой, так как атакующий может её создать. Переменная "higher_level_path" в функции загрузки ` /openemr/controller.php?document&upload` позволяет нам указать имя директории, в которой будет сохранён файл, и если эта директория не существует (а переменная "patient_id" является числовой и больше 0), она будет создана с правами "700" и владельцем "www-data".
Это может вызвать DoS, так как атакующий может удалить некоторые конфигурационные файлы/php-скрипты с сервера.
## Влияние