Sploitus

Exploit for CVE-2019-14530

kitploit · 2026-09-02

Exploit Code

MARKDOWN29 lines
## 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-скрипты с сервера.

## Влияние