[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FD] [KIS-2014-15] Osclass <= 3.4.2 (ajax.php) Local File Inclusion Vulnerability
- To: bugtraq@xxxxxxxxxxxxxxxxx, fulldisclosure@xxxxxxxxxxxx
- Subject: [FD] [KIS-2014-15] Osclass <= 3.4.2 (ajax.php) Local File Inclusion Vulnerability
- From: Egidio Romano <research@xxxxxxxxxxxxxxxxxxx>
- Date: Wed, 31 Dec 2014 19:24:55 +0100
--------------------------------------------------------------
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.
[-] Original Advisory:
http://karmainsecurity.com/KIS-2014-15
_______________________________________________
Sent through the Full Disclosure mailing list
http://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/