Advisory ID: HTB23069 Product: OpenEMR Vendor: OEMR Vulnerable Version: 4.1.0 and probably prior Tested Version: 4.1.0 Vendor Notification: 11 January 2012 Vendor Patch: 29 January 2012 Public Disclosure: 01 February 2012 Vulnerability Type: Local File Inclusion, Arbitrary Command Execution Solution Status: Fixed by Vendor Risk Level: High Credit: High-Tech Bridge SA Security Research Lab ( https://www.htbridge.ch/advisory/ ) ---------------------------------------------------------------------------------------------------- Advisory Details: High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in OpenEMR, which can be exploited to perform local file inclusion and arbitrary command execution attacks. 1) Multiple Local File Inclusion vulnerabilities in OpenEMR 1.1 Input passed via the "formname" GET parameter to /contrib/acog/print_form.php is not properly verified before being used to include local files. This can be exploited to include local files via directory traversal sequences and URL-encoded NULL bytes. The following PoC (Proof of Concept) demostrates the vulnerability: http://[host]/contrib/acog/print_form.php?formname=../../../etc/passwd%00 1.2 Input passed via the "formname" GET parameter to /interface/patient_file/encounter/load_form.php, /interface/patient_file/encounter/view_form.php and /interface/patient_file/encounter/trend_form.php is not properly verified before being used to include local files. This can be exploited to include local files via directory traversal sequences and URL-encoded NULL bytes. The following PoC (Proof of Concept) demostrate the vulnerabilities: http://[host]/interface/patient_file/encounter/load_form.php?formname=../../../etc/passwd%00 http://[host]/interface/patient_file/encounter/view_form.php?formname=../../../etc/passwd%00 http://[host]/interface/patient_file/encounter/trend_form.php?formname=../../../etc/passwd%00 Successful exploitation of these vulnerabilities requires that the attacker is registered and logged-in. 2) Multiple Arbitrary Command Execution vulnerabilities in OpenEMR Input passed via "file" parameter to /interface/fax/fax_dispatch.php is not properly sanitised before being used in an "exec()" call. This can be exploited to execute arbitrary system commands. The following PoC (Proof of Concept) demostrates the vulnerability: http://[host]/interface/fax/fax_dispatch.php?file=1%22%20||%20ls%20%3E%20123 Successful exploitation of this vulnerability requires that the attacker is registered and logged-in. ---------------------------------------------------------------------------------------------------- Solution: Apply Vendor Patch: http://www.open-emr.org/patch/4-1-0-Patch-7.zip More information: http://www.open-emr.org/wiki/index.php/OpenEMR_Patches ---------------------------------------------------------------------------------------------------- References: [1] High-Tech Bridge Advisory HTB23069 - https://www.htbridge.ch/advisory/HTB23069 - Multiple vulnerabilities in OpenEMR. [2] OpenEMR - http://www.open-emr.org/ - OpenEMR is a Free and Open Source electronic health records and medical practice management application. ---------------------------------------------------------------------------------------------------- Disclaimer: The information provided in this Advisory is provided "as is" and without any warranty of any kind. Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on web page [1] in the References.