Lucene search

K
zdtEgiX1337DAY-ID-23050
HistoryJan 01, 2015 - 12:00 a.m.

Osclass 3.4.2 Local File Inclusion Vulnerability

2015-01-0100:00:00
EgiX
0day.today
27

0.018 Low

EPSS

Percentile

86.6%

Osclass versions 3.4.2 and below suffer from a local file inclusion vulnerability.

--------------------------------------------------------------
Osclass <= 3.4.2 (ajax.php) Local File Inclusion Vulnerability
--------------------------------------------------------------


[-] Software Link:

http://osclass.org/  


[-] Affected Versions:

Version 3.4.2 and probably prior versions.


[-] Vulnerability Description:

The vulnerable code is located in the /oc-includes/osclass/controller/ajax.php script:

225.       case 'custom': // Execute via AJAX custom file
226.           if(Params::existParam('route')) {
227.               $routes = Rewrite::newInstance()->getRoutes();
228.               $rid = Params::getParam('route');
229.               $file = '../';
230.               if(isset($routes[$rid]) && isset($routes[$rid]['file'])) {
231.                   $file = $routes[$rid]['file'];
232.               }
233.           } else {
234.               // DEPRECATED: Disclosed path in URL is deprecated, use routes instead
235.               // This will be REMOVED in 3.4
236.               $file = Params::getParam('ajaxfile');
237.           }
238.  
239.           if($file == '') {
240.               echo json_encode(array('error' => 'no action defined'));
241.               break;
242.           }
243.  
244.           // valid file?
245.           if( stripos($file, '../') !== false  || stripos($file, '/admin/') !== false ) ...
246.               echo json_encode(array('error' => 'no valid ajaxFile'));
247.               break;
248.           }
249.  
250.           if( !file_exists(osc_plugins_path() . $file) ) {
251.               echo json_encode(array('error' => "ajaxFile doesn't exist"));
252.               break;
253.           }
254.  
255.           require_once osc_plugins_path() . $file;

User input passed through the "ajaxfile" request parameter when handling a "custom" action within
the AJAX interface is not properly sanitized being used in a call to the "require_once()" function
at line 255. This can be exploited to include arbitrary local files and execute arbitrary PHP code
when the application is running on Windows.


[-] Solution:

Update to version 3.4.3 or later.


[-] Disclosure Timeline:

[29/09/2014] - Vendor notified
[29/09/2014] - Vendor response
[09/10/2014] - Version 3.4.3 released: http://blog.osclass.org/2014/10/09/osclass-3-4-3
[09/10/2014] - CVE number requested
[11/10/2014] - CVE number assigned
[31/12/2014] - Public disclosure


[-] CVE Reference:

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


[-] Credits:

Vulnerability discovered by Egidio Romano.

#  0day.today [2018-01-10]  #

0.018 Low

EPSS

Percentile

86.6%