{"id": "EDB-ID:31900", "type": "exploitdb", "bulletinFamily": "exploit", "title": "Private Camera Pro 5.0 iOS - Multiple Vulnerabilities", "description": "Private Camera Pro 5.0 iOS - Multiple Vulnerabilities. Webapps exploit for ios platform", "published": "2014-02-25T00:00:00", "modified": "2014-02-25T00:00:00", "cvss": {"score": 0.0, "vector": "NONE"}, "href": "https://www.exploit-db.com/exploits/31900/", "reporter": "Vulnerability-Lab", "references": [], "cvelist": [], "lastseen": "2016-02-03T15:44:40", "viewCount": 2, "enchantments": {"score": {"value": 0.5, "vector": "NONE", "modified": "2016-02-03T15:44:40", "rev": 2}, "dependencies": {"references": [], "modified": "2016-02-03T15:44:40", "rev": 2}, "vulnersScore": 0.5}, "sourceHref": "https://www.exploit-db.com/download/31900/", "sourceData": "Document Title:\r\n===============\r\nPrivate Camera Pro v5.0 iOS - Multiple Web Vulnerabilities\r\n\r\n\r\nReferences (Source):\r\n====================\r\nhttp://www.vulnerability-lab.com/get_content.php?id=1216\r\n\r\n\r\nRelease Date:\r\n=============\r\n2014-02-24\r\n\r\n\r\nVulnerability Laboratory ID (VL-ID):\r\n====================================\r\n1216\r\n\r\n\r\nCommon Vulnerability Scoring System:\r\n====================================\r\n8.1\r\n\r\n\r\nProduct & Service Introduction:\r\n===============================\r\nPrivate Camera is an iPhone and iPad camera app that could protect your privacy. It supports taking photos and recording videos, password \r\nlock protect, Fake password guest mode, share photos anytime and anywhere. Take photos and videos quick and easily. Support autofocus, \r\ntap to focus, flash light switch, camera switch, brand new UI, easy to use. Support taking still photo and recording video. Switch the \r\nvideo and photo mode one click. Create, rename, delete album, set album cover. Add photos to Album, remove photos from Album. Multiple photos \r\ncan be handled at a time, you can import photos from system camera roll, export photos to system camera roll, add photos to album, remove photos \r\nfrom album, delete multiple photos. Wi-Fi web access for photos upload, you can upload many photos from computer to iPhone or iPad in one shot.\r\nWith iOS 5, Private Camera can sync all your photos and videos on your iCloud account, you can access these photos & videos on all your iOS \r\ndevices, use and share these photos & videos anytime, everywhere. Protect photos and videos that you don\u2019t want to share. User requires enter \r\npassword when access the photos/videos library. Share photos and videos on Twitter, Facebook, Email with your friends.\r\n\r\nWith Password-lock functionality, can protect your personal photos and videos. Its unique Pseudo-password(decoy-password) guest mode, \r\ncan cope with annoying friends from seeing your private photos and videos. With easy to use camera features, let you using iPhone or \r\niPad take photos & videos and enjoy your photography life!\r\n\r\n( Copy of the Homepage: https://itunes.apple.com/us/app/private-camera-photo-vault/id477970594 )\r\n( Copy of the Homepage: https://itunes.apple.com/us/app/private-camera-pro-photo-vault/id473538611 )\r\n\r\n\r\nAbstract Advisory Information:\r\n==============================\r\nThe Vulnerability Laboratory Research Team discovered multiple web vulnerabilities in the official Private Camera Pro v5.0 iOS mobile web-application.\r\n\r\n\r\nVulnerability Disclosure Timeline:\r\n==================================\r\n2014-02-24:\tPublic Disclosure (Vulnerability Laboratory)\r\n\r\n\r\nDiscovery Status:\r\n=================\r\nPublished\r\n\r\n\r\nAffected Product(s):\r\n====================\r\nApple AppStore\r\nProduct: Private Camera Pro - iOS Web Application 5.0\r\n\r\n\r\nExploitation Technique:\r\n=======================\r\nRemote\r\n\r\n\r\nSeverity Level:\r\n===============\r\nHigh\r\n\r\n\r\nTechnical Details & Description:\r\n================================\r\n1.1\r\nA local file include vulnerability has been discovered in the official Private Camera Pro v5.0 iOS mobile web-application.\r\nThe local file include web vulnerability allows remote attackers to unauthorized include local file/path requests \r\nor system specific path commands to compromise the web-application/device.\r\n\r\nThe vulnerability is located in the upload module of the mobile web-application web-interface. Remote attackers can \r\nmanipulate the `upload > submit` POST method request with the vulnerable `filename` value to compromise the application \r\nor connected device components. The issue allows remote attackers to include local app path values or wifi web-server files. \r\n\r\nThe exploitation appears on the application-side and the inject request method is POST. The exection occurs in the main index \r\nfile dir list. The security risk of the local file include web vulnerability is estimated as high with a cvss (common vulnerability \r\nscoring system) count of 7.2(+)|(-)7.3.\r\n\r\nExploitation of the local file include vulnerability requires no user interaction or privileged mobile application user account. \r\nSuccessful exploitation of the file include web vulnerability results in mobile application compromise, connected device compromise \r\nor web-server compromise.\r\n\r\nRequest Method(s):\r\n\t\t\t\t[+] POST\r\n\r\nVulnerable Module(s):\r\n\t\t\t\t[+] Upload (UI) & Import (Device Sync)\r\n\r\nVulnerable Parameter(s):\r\n\t\t\t\t[+] filename\r\n\r\nAffected Module(s):\r\n\t\t\t\t[+] File Dir Index Listing\r\n\r\n\r\n1.2\r\nA local command/path injection web vulnerabilities has been discovered in the official Private Camera Pro v5.0 iOS mobile web-application.\r\nA command inject vulnerability allows attackers to inject local commands via vulnerable system values to compromise the apple mobile iOS application.\r\n\r\nThe vulnerability is located in the vulnerable `[devicename] (srvName)` value of the device-info module. Local attackers are able to inject own malicious \r\nsystem specific commands or path value requests as the physical iOS hardware devicename. The execution of the injected command or path request occurs with \r\npersistent attack vector in the device-info listing module of the web interface. The security risk of the local command/path inject vulnerability is estimated \r\nas high(-) with a cvss (common vulnerability scoring system) count of 6.5(+)|(-)6.6.\r\n\r\nExploitation of the command/path inject vulnerability requires a low privileged iOS device account with restricted access and no user interaction. \r\nSuccessful exploitation of the vulnerability results in unauthorized execution of system specific commands and unauthorized path value requests to \r\ncompromise the mobile iOS application or the connected device components.\r\n\r\nRequest Method(s):\r\n\t\t\t\t[+] POST\r\n\r\nVulnerable Module(s):\r\n\t\t\t\t[+] Content > header-title\r\n\r\nVulnerable Parameter(s):\r\n\t\t\t\t[+] devicename\r\n\r\nAffected Module(s):\r\n\t\t\t\t[+] Index- File Dir Listing\r\n\t\t\t\t[+] Sub Folder/Category - File Dir Listing\r\n\r\n\r\n\r\n1.3\r\nA persistent input validation vulnerability has been discovered in the official Private Camera Pro v5.0 iOS mobile web-application.\r\nA persistent input validation vulnerability allows remote attackers to inject own malicious script codes on the application-side \r\nof the affected application web-server.\r\n\r\nThe vulnerability is located in the add `New Album` input field. The vulnerability allows remote attackers to inject \r\nown malicious script codes on the application-side of the index path/folder listing. The script code execute occurs \r\nin the index `Albums Index` listing with the vulnerable album_title parameter. The inject can be done local by the device \r\nvia add album sync function or remote by an inject via upload in the web-interface. The attack vector is persistent and \r\nthe injection request method is POST. The security risk of the persistent input validation web vulnerability in the \r\nalbumtitle value is estimated as high(-) with a cvss (common vulnerability scoring system) count of 4.2(+)|(-)4.3.\r\n\r\nExploitation of the persistent script code inject vulnerability via POST method request requires low user interaction \r\nand no privileged web-interface user account. Only the sync add album sync function of the reproduce via device requires \r\nphysical access.\r\n\r\nRequest Method(s):\r\n\t\t\t\t[+] POST\r\n\r\nVulnerable Module(s):\r\n\t\t\t\t[+] Albums Add (UI) & Import (Snyc Device)\r\n\r\nVulnerable Module(s):\r\n\t\t\t\t[+] album_title\r\n\r\nAffected Module(s):\r\n\t\t\t\t[+] Album Index & Sub Category Index\r\n\r\n\r\nProof of Concept (PoC):\r\n=======================\r\n1.1\r\nthe local file include web vulnerability can be exploited by remote attackers without privileged web-application user account or \r\nuser interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.\r\n\r\nPoC: Albums\r\n\r\n<div class=\"btn btn-mini directDownload\" title=\"Download photo\">Download</div></div></li><li class=\"span2 thumbnail_warp\">\r\n<div class=\"thumbnail_image\"><a href=\"http://192.168.2.109/origins/PC_20140223160359211.jpg\" class=\"thumbnail\" w=\"480\" h=\"320\" \r\nt=\"0\" u=\"PC_20140223160359211.jpg\"><img style=\"display: block;\" src=\"Default%20Album_filename-Dateien/PC_20140223160359211.jpg\" \r\ndata-original=\"/photos/thumbnails/PC_20140223160359211.jpg\" class=\"photo_image\"><div class=\"inner_icons\"> </div></a>\r\n<div class=\"thumbnail_overlay\"><img style=\"display: none;\" src=\"Default%20Album_filename-Dateien/zoomout_icon.png\" \r\nclass=\"zoomout_icon\" title=\"origin photo\"></div></div><div style=\"display: none;\" class=\"photo-edit-bar\"><label class=\"checkbox inline\">15<input \r\nid=\"15\" name=\"0\" value=\"./[LOCAL FILE INCLUDE VULNERABILITY!].jpg\" type=\"checkbox\"></label><div class=\"btn btn-mini directDownload\" \r\ntitle=\"Download photo\">Download</div></div></li></ul></div>\r\n\r\n\r\n--- PoC Session Logs [POST] ---\r\nStatus: 200[OK]\r\nPOST http://localhost/asset/addAsset Load Flags[LOAD_BYPASS_CACHE ] Gr\u00f6\u00dfe des Inhalts[462] Mime Type[application/json]\r\n Request Header:\r\n Host[localhost]\r\n User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0]\r\n Accept[application/json, text/javascript, */*; q=0.01]\r\n Accept-Language[de-de,de;q=0.8,en-us;q=0.5,en;q=0.3]\r\n Accept-Encoding[gzip, deflate]\r\n X-Requested-With[XMLHttpRequest]\r\n Referer[http://localhost/]\r\n Content-Length[24791]\r\n Content-Type[multipart/form-data; boundary=---------------------------27557158176485]\r\n Connection[keep-alive]\r\n Pragma[no-cache]\r\n Cache-Control[no-cache]\r\n POST-Daten:\r\n POST_DATA[-----------------------------27557158176485\r\nContent-Disposition: form-data; name=\"params\"\r\n\r\nname:Default%20Album|url:82A29591-4E94-4313-B4A6-B527A1A551AE|id:SYS_ALBUM_DEFAULT\r\n-----------------------------27557158176485\r\nContent-Disposition: form-data; name=\"files[]\"; filename=\"./[LOCAL FILE INCLUDE VULNERABILITY!]\"\r\nContent-Type: image/jpeg\r\n\r\n\r\n\r\n1.2\r\nThe local command inject web vulnerability can be exploited by remote attackers with physical device access and without user interaction.\r\nFor security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.\r\n\r\n\r\nPoC: Device Info > device_info_list > srvname > device-info > [devicename] (srvName)\r\n\r\n<div aria-hidden=\"false\" style=\"display: block;\" id=\"modal_serverInfo\" class=\"modal hide fade in\">\r\n <div class=\"modal-header\">\r\n <a class=\"close\" data-dismiss=\"modal\">\u00d7</a>\r\n <h4>Device info</h4>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ul class=\"device_info_list\">\r\n <li>Name:<span id=\"srvName\" class=\"device-info\">bkm337\u00a5\"><%20\"./[LOCAL COMMAND INJECT VULNERABILITY!]\"><if></span></li>\r\n <li>Model:<span id=\"srvModel\" class=\"device-info\">iPad 4 (WiFi)</span></li>\r\n <li>iOS Version:<span id=\"srvVer\" class=\"device-info\">7.0.6</span></li>\r\n <li>Free Space:<span id=\"srvFree\" class=\"device-info\">9.993 GB</span></li>\r\n <li>Support Video:<span id=\"srvSupported\" class=\"device-info\">MOV, M4V, MP4</span></li>\r\n </ul>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <a href=\"#\" class=\"btn\" data-dismiss=\"modal\">Close</a>\r\n </div>\r\n</div>\r\n\r\nNote: Inject your payload as iOS devicename (phone or ipad). The execution occurs in the device-info section of the web-interface.\r\n\r\n\r\n\r\n\r\n1.2\r\nThe persistent input validation web vulnerability can be exploited by remote attackers with low privileged application user account and \r\nlow user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.\r\n\r\n\r\nPoC: File Dir Index > album_title\r\n\r\n<div class=\"span12 content-body index_page\" id=\"indexDropbox\"><ul class=\"thumbnails\" id=\"albums\"><li class=\"album_warp\">\r\n<a href=\"#\" n=\"Default%20Album\" u=\"SYS_ALBUM_DEFAULT\" albumtype=\"1\" editable=\"true\" class=\"thumbnail thumbnailAlbum\">\r\n<img src=\"Albums_foldername-Dateien/SYS_ALBUM_DEFAULT.jpg\" class=\"album_image\"><h5 class=\"album_title\">Default Album</h5>\r\n<p class=\"album_desc 1\">15 Photos</p></a></li><li class=\"album_warp\"><a href=\"#\" n=\"%20\">[PERSISTENT INJECTED SCRIPT CODE!]\" \r\nu=\"E2569E17-2254-46D9-992C-82833B92F535\" albumtype=\"0\" editable=\"true\" class=\"thumbnail thumbnailAlbum\">\r\n<img src=\"Albums_foldername-Dateien/E2569E17-2254-46D9-992C-82833B92F535.jpg\" class=\"album_image\">\r\n<h5 class=\"album_title\">><%20\">[PERSISTENT INJECTED SCRIPT CODE!]\"> \"><%20\">[PERSISTENT INJECTED SCRIPT CODE!]></h5>\r\n<p class=\"album_desc 0\">7 Photos</p></a></li></iframe></h5></a></li></ul></div>\r\n\r\nNote: Use the sync function when processing to import to inject the persistent code to the file dir index of the web-interface.\r\n\r\n\r\n\r\nSolution - Fix & Patch:\r\n=======================\r\n1.1\r\nThe local file include web vulnerability can be patched by a secure parse and validation of the filename value in the upload file POst method request.\r\n\r\n1.2\r\nThe local command inject web vulnerability can be fixed by a secure encode of the vulnerable devicename value in the service information module.\r\n\r\n1.3\r\nThe persistent input validation web vulnerability can be patched by a secure parse and encode of the vulnerable albumname value.\r\nRestrict the albumname add and rename function to prevent further persistent script code injects via POST method request.\r\n\r\n\r\nSecurity Risk:\r\n==============\r\n1.1\r\nThe security risk of the local file include web vulnerability is estimated as high(+).\r\n\r\n1.2\r\nThe security risk of the local command inject web vulnerability is estimated as high(-).\r\n\r\n1.3\r\nThe security risk of the persistent input validation web vulnerability is estimated as medium(+).\r\n\r\n\r\nCredits & Authors:\r\n==================\r\nVulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@evolution-sec.com) [www.vulnerability-lab.com]\r\n\r\n\r\nDisclaimer & Information:\r\n=========================\r\nThe information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, \r\neither expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-\r\nLab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business \r\nprofits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some \r\nstates do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation \r\nmay not apply. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack into databases \r\nor trade with fraud/stolen material.\r\n\r\nDomains: www.vulnerability-lab.com \t- www.vuln-lab.com\t\t\t - www.evolution-sec.com\r\nContact: admin@vulnerability-lab.com \t- research@vulnerability-lab.com \t - admin@evolution-sec.com\r\nSection: www.vulnerability-lab.com/dev \t- forum.vulnerability-db.com \t\t - magazine.vulnerability-db.com\r\nSocial:\t twitter.com/#!/vuln_lab \t\t- facebook.com/VulnerabilityLab \t - youtube.com/user/vulnerability0lab\r\nFeeds:\t vulnerability-lab.com/rss/rss.php\t- vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php\r\n\r\nAny modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. \r\nPermission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other \r\nmedia, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and \r\nother information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed), \r\nmodify, use or edit our material contact (admin@vulnerability-lab.com or research@vulnerability-lab.com) to get a permission.\r\n\r\n\t\t\t\tCopyright \u00a9 2014 | Vulnerability Laboratory [Evolution Security]\r\n\r\n\r\n\r\n-- \r\nVULNERABILITY LABORATORY RESEARCH TEAM\r\nDOMAIN: www.vulnerability-lab.com\r\nCONTACT: research@vulnerability-lab.com\r\n\r\n\r\n", "osvdbidlist": ["104780", "104778", "104779"]}