Description
OpenEMR before 8.4.0 contains a local file inclusion in the ESign router (library/ESign/Router.php), which passes the unsanitized module parameter into a require_once of '<module>/Controller.php', and the fax module's faxProcessUploads writes attacker-named files to a predictable temp path without extension checks. Authenticated attackers can upload a PHP file named Controller.php, then request interface/esign/index.php with a traversing module parameter to include it and execute arbitrary code.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| openemr | openemr | < 8.4.0 | 8.4.0 |
References
- GitHub Security Advisory (GHSA-p4v7-crwp-qq7q) vendor-advisory
- VulnCheck Advisory: OpenEMR before 8.4.0 Remote Code Execution via ESign LFI and fax upload third-party-advisory