Document Title: =============== Yahoo! Bug Bounty #29 YM - Filter Bypass & Persistent Web Vulnerability References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=1136 Video: http://www.vulnerability-lab.com/get_content.php?id=1279 Release Date: ============= 2014-07-07 Vulnerability Laboratory ID (VL-ID): ==================================== 1136 Common Vulnerability Scoring System: ==================================== 6.3 Product & Service Introduction: =============================== Yahoo! Inc. is an American multinational internet corporation headquartered in Sunnyvale, California. It is widely known for its web portal, search engine Yahoo! Search, and related services, including Yahoo! Directory, Yahoo! Mail, Yahoo! News, Yahoo! Finance, Yahoo! Groups, Yahoo! Answers, advertising, online mapping, video sharing, fantasy sports and its social media website. It is one of the most popular sites in the United States. According to news sources, roughly 700 million people visit Yahoo! websites every month. Yahoo! itself claims it attracts `more than half a billion consumers every month in more than 30 languages. (Copy of the Vendor Homepage: http://www.yahoo.com ) Abstract Advisory Information: ============================== The Vulnerability-Laboratory Research Team has discovered multiple vulnerabilities in the official Yahoo! Messenger software v11.5.0.228 application. Vulnerability Disclosure Timeline: ================================== 2013-07-31: Researcher Notification & Coordination (Ateeq ur Rehman Khan - Core Research Team) 2013-08-01: Vendor Notification (Yahoo! Security Team - Bug Bounty Program) 2013-09-01: Vendor Response/Feedback (Yahoo! Security Team - Bug Bounty Program) 2014-06-01: Vendor Fix/Patch (Yahoo! Developer Team - Reward: HackerOne Program) 2014-07-07: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Yahoo! Product: Yahoo! Messenger Desktop (US) 11.5.0.228 (US) Exploitation Technique: ======================= Remote Severity Level: =============== High Technical Details & Description: ================================ An input filter bypass & persistent web vulnerability has been discovered in the official Yahoo! Messenger (11.5.0.228-us) Desktop Application. The persistent remote web vulnerability affects the software exception handling module of the phone `SMS` feature in the application. It was initially discovered that while sending an `SMS`, the Yahoo IM application validates all entered numbers through a remote host: validate.msg.yahoo.com. If the number is invalid/malicious the remote host responds with an `unknown number` exception which is then handled by the IM application in a new msg window. While handling the exception, the injected code gets executed successfully in the new msg window where the exception is processed as HTML. Malicious requests can be injected in the `Enter Mobile Number` input field using a filter bypass technique while sending an SMS through the Yahoo IM application. It seems that basic security controls are in place to restrict user from typing in Alphabets and special characters when sending an SMS however a simple copy/paste of a specially crafted payload bypasses the restriction quite easily and results in successful code execution of the injected scripts code. The security risk of the filter bypass and persistent vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 6.3. This type of vulnerability can be exploited by a non privileged / unauthorized remote attackers and requires a normal application user account (victim). The successful exploitation of the remote vulnerability results in session hijacking, persistent phishing, persistent external redirect, persistent external malware loads and persistent manipulation of affected module context. Request Method(s): [+] POST Vulnerable Service(s): [+] Yahoo! Messenger - Desktop Application v11.5.0.228-us (software) Vulnerable Parameter(s): [+] Enter Mobile Number Affected Module(s): [+] Send An SMS > Mobile Number Proof of Concept (PoC): ======================= The persistent input validation web vulnerability can be exploited by remote attackers with low user interaction and low privileged web application user account. For demonstration or to reproduce ... Manual steps to reproduce the vulnerability ... 1. Login to your Yahoo IM application 2. Click on the Send an SMS icon 3. Inject the "Payload" in the "Enter Mobile Number" input field 4. A new IM window should popup and shortly your browser should be redirected to my website proving the existence of this vulnerability PoC: Payload '%3d'>">/927 --- PoC Session Logs --- HTTP Requests: POST /mobileno?intl=us&version=11.5.0.228 HTTP/1.1 Cookie: [HIDDEN] path=/; domain=.yahoo.com User-Agent: Mozilla/4.0 (compatible; MSIE 5.5) Host: validate.msg.yahoo.com Content-Length: 153 Pragma: no-cache -Response: HTTP/1.1 200 OK Date: Wed, 06 Nov 2013 12:52:31 GMT P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV" Content-Length: 173 Cache-Control: private Connection: close Content-Type: text/html; charset=utf-8 Unknown Demonstration Video(s): ../video.wmv Reference(s): http://www.yahoo.com http://messenger.yahoo.com Solution - Fix & Patch: ======================= Proper security controls should be implemented/enforced in the IM application to validate input and restrict copy/paste of malicious requests in all affected input fields. Also restricting the exceptions response type so they are not processed as HTML by the IM application is recommended. Security Risk: ============== The security risk of the persistent exception-handling web vulnerability is estimated as high(-). Credits & Authors: ================== Vulnerability Laboratory [Research Team] - Ateeq ur Rehman Khan (ateeq@evolution-sec.com) [www.vulnerability-lab.com] Disclaimer & Information: ========================= The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack into databases or trade with fraud/stolen material. Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com Contact: admin@vulnerability-lab.com - research@vulnerability-lab.com - admin@evolution-sec.com Section: dev.vulnerability-db.com - forum.vulnerability-db.com - magazine.vulnerability-db.com Social: twitter.com/#!/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register/ Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed), modify, use or edit our material contact (admin@vulnerability-lab.com or research@vulnerability-lab.com) to get a permission. Copyright © 2014 | Vulnerability Laboratory [Evolution Security] -- VULNERABILITY LABORATORY RESEARCH TEAM DOMAIN: www.vulnerability-lab.com CONTACT: research@vulnerability-lab.com