Document Title: =============== Ebay Magento Bug Bounty #1 - Persistent API Vulnerability References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=1202 eBay Inc. Bug Bounty Program ID: EIBBP-26643 Release Date: ============= 2014-11-17 Vulnerability Laboratory ID (VL-ID): ==================================== 1202 Common Vulnerability Scoring System: ==================================== 3.3 Product & Service Introduction: =============================== Magento is an open source e-commerce web application that was launched on March 31, 2008 under the name Bento. It was developed by Varien (now Magento, a division of eBay) with help from the programmers within the open source community but is now owned solely by eBay Inc. Magento was built using parts of the Zend Framework. It uses the entity-attribute-value (EAV) database model to store data. In November 2013, W3Techs estimated that Magento was used by 0.9% of all websites. Our team of security professionals works hard to keep Magento customer information secure. What`s equally important to protecting this data? Our security researchers and user community. If you find a site that isn`t following our policies, or a vulnerability inside our system, please tell us right away. ( Copy of the Vendor Homepage: http://magento.com/security & http://magento.com/security ) Abstract Advisory Information: ============================== The Vulnerability Laboratory Research Team discovered a persistent mail encoding web vulnerability in the official eBay Magento `connect` Web-Application. Vulnerability Disclosure Timeline: ================================== 2014-02-14: Researcher Notification & Coordination (Benjamin Kunz Mejri - Evolution Security) 2014-02-15: Vendor Notification (eBay Security Team - Bug Bounty Program) 2014-03-13: Vendor Response/Feedback (eBay Security Team - Bug Bounty Program) 2014-11-01: Vendor Fix/Patch (eBay Developer Team - Reward: x & Manager: x) 2014-11-17: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Ebay Inc. Product: Magento - Connect Web Application 2014 Q1 Exploitation Technique: ======================= Remote Severity Level: =============== Low Technical Details & Description: ================================ A persistent mail encoding web vulnerability has been discovered in the official eBay Inc Magento `connect` web-application (api). The vulnerability allows remote attackers to bypass the outgoing mail filter validation of the magento web-server to execute persistent injected script codes. The persistent vulnerability is located in the explore/contact-sales module of the enterprise.magento.com website web-application. The context validation vulnerability itself is located in the firstname and lastname values. Remote attackers are able to inject the payload as firstname and lastname. The remote vulnerability can be exploited by remote attackers or with automatic post scripts to send customers, clients and other random people malicious mails with injected script codes. The attack vector is persistent and the injection request method is POST. The security risk of the vulnerability is estimated as medium but affects the full web-server. The validation on the same server does not encode the outgoing values which results in the wrong encoded outgoing mails through the web formular. Exploitation of the web vulnerability requires no privileged web-application user account and low or medium user interaction because of the persistent attack vector. Successful exploitation of the vulnerability results in session hijacking, persistent phishing, persistent external redirect and manipulation of web header or mail context. Vulnerable Domain(s): [+] enterprise.magento.com Vulnerable File(s): [+] explore/contact-sales Vulnerable Parameter(s): [+] firstname [+] lastname Affected Sender(s): [+] Connect@magento.com Proof of Concept (PoC): ======================= The persistent mail encoding web vulnerability can be exploited by remote attackers without privileged web-application user account but with low or medium user interaction. For security demonstration or to reproduce the vulnerability follow the provided steps and information below. Manually steps to reproduce ... 1. Open up the website of the sales contact => http://enterprise.magento.com/explore/contact-sales 2. Inject script code as payload in the vulnerable firstname and lastname values of the web formular 3. Click the send button 4. You will get redirected to a thanks page with an id of the session 5. Open your mailbox and watch the mail with the regular validation 6. The injected script code of the contact formular post method request executes after the Dear [First- & Lastname] introduction PoC: Magento Connect: Answers to your Questions
Dear %20>"<<<><"<[PERSISTENT INJECTED SCRIPT CODE!]">,
Thank you for contacting us about Magento Connect. Here are some valuable resources we have available to help you answer your questions as quickly as possible:
Magento Connect Developer Resources for Building Extensions
Developer's Guide
Extension Packaging Guidelines
Magento Connect Resources for Listing and Marketing Your Extension
Developer & Extension Listings in Magento Connect
Magento Connect Profile Guidelines
If you have any additional questions, please contact the Magento Connect team at connect@magento.com.
Interested in enhanced promotional opportunities to market your extension to 200,000 Magento merchants? Learn more about Magento's Industry Partner Program and Apply to join.
Thank you,
The Magento Connect Team