--------------------------------------------------------------------- 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