openSIS <= 7.4 (Bottom.php) Local File Inclusion Vulnerability

https://opensis.com

• Affected Versions:

Version 7.4 and prior versions.

• Vulnerability Description:

The vulnerable code is located in the /Bottom.php script:

36if(clean_param($_REQUEST['modfunc'],PARAM_ALPHA)=='print')
37{
38    $_REQUEST = $_SESSION['_REQUEST_vars'];
39    $_REQUEST['_openSIS_PDF'] = true;
40    if(strpos($_REQUEST['modname'],'?')!==false)
41        $modname = substr($_REQUEST['modname'],0,strpos($_REQUEST['modname'],'?'));
42    else
43        $modname = $_REQUEST['modname'];
44    ob_start();
45    include('modules/'.$modname);

User input passed through the “modname” request parameter is not properly sanitized before being used in a call to the include() function at line 45. This can be exploited to include arbitrary local files and potentially access otherwise restricted functionalities or execute arbitrary PHP code with the permissions of the webserver.

• Solution:

No official solution is currently available.

• Disclosure Timeline:

[04/11/2019] – Vendor notified

[04/11/2019] – Vendor acknowledgement

[10/01/2020] – Vendor contacted again asking for updates

[16/01/2020] – Vendor tried to fix the vulnerability by using mysqli_real_escape_string()

[06/02/2020] – Vendor was informed about the inappropriate fix

[25/04/2020] – Version 7.4 released, vulnerability still incorrectly fixed

[22/05/2020] – CVE number assigned

[30/06/2020] – Public disclosure

• CVE Reference:

The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2020-13383 to this vulnerability.

• Credits:

Vulnerability discovered by Egidio Romano.