[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[KIS-2014-16] Osclass <= 3.4.2 (contact.php) Unrestricted File Upload Vulnerability



---------------------------------------------------------------------
Osclass <= 3.4.2 (contact.php) Unrestricted File Upload 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/contact.php script:

97.	         if( osc_contact_attachment() ) {
98.	             $attachment   = Params::getFiles('attachment');
99.	             if(isset($attachment['tmp_name'])) {
100.	                 $resourceName = $attachment['name'];
101.	                 $tmpName      = $attachment['tmp_name'];
102.	                 $resourceType = $attachment['type'];
103.	                 $path = osc_uploads_path() . time() . '_' . $resourceName;
104.	                 if( !is_writable(osc_uploads_path()) ) {
105.	                     osc_add_flash_error_message( _m('There have been some errors ...
106.	                     $this->redirectTo( osc_contact_url() );
107.	                 }
108.	
109.	                 if( !move_uploaded_file($tmpName, $path) ) {
110.	                     unset($path);
111.	                 }
112.	             }
113.	         }

The vulnerability exists because of the "CWebContact::doModel()" method not properly verifying the
extension of uploaded files. This could be exploited by unauthenticated attackers to upload and
execute arbitrary PHP code. Successful exploitation of this vulnerability requires the attachment
option for the contact page to be enabled (disabled by default).


[-] Solution:

Update to version 3.4.3 or later.


[-] Disclosure Timeline:

[30/09/2014] - Vendor notified
[30/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-8085 to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Original Advisory:

http://karmainsecurity.com/KIS-2014-16