Multiple Vulnerabilities in Yahoo! Messenger
Last revised: June 07, 2002
A complete revision history can be found at the end of this file.
U.S. and International versions of:
- Yahoo! Messenger version 5,0,0,1064 and prior for Microsoft Windows
There are multiple vulnerabilities in Yahoo! Messenger. Attackers that are able to exploit these vulnerabilities may be able to execute arbitrary code with the privileges of the victim user. We have not seen active scanning for these vulnerabilities, nor have we received any reports of these vulnerabilities being exploited, but users should upgrade to the version 5,0,0,1065 or later.
Yahoo! Messenger is a widely used program for communicating with other users over the Internet. On May 27, 2002, a buffer overflow and a URL validation vulnerability were discovered in the Yahoo! Messenger client for Microsoft Windows. Details of each vulnerability follow:
VU#137115 - Yahoo! Messenger contains a buffer overflow in the URI handler
The buffer overflow occurs during the processing of the Yahoo! Messenger URI handler (ymsgr:). This URI handler is installed at the system level for applications that use the underlying operating system when processesing URIs (such as Microsoft Internet Explorer, Netscape Navigator 6, Microsoft Outlook, or the command shell). A URI can be sent by another Yahoo! Messenger user in a message, embedded in a web site, or sent in an HTML-renderable email message.
This vulnerability has been assigned as CAN-2002-0031 by the Common Vulnerabilities and Exposures (CVE) group:
VU#172315 - Yahoo! Messenger "addview" function allows for the automatic execution of malicious script contained in web pages
A vulnerability exists in the Yahoo! Messenger "addview" function that permits a remote attacker to execute arbitrary script and HTML in the Internet security zone of the local machine. The "addview" function is only supposed to accept view information from Yahoo! servers. However, an attacker can send malicious script and HTML to the client using the Yahoo! URL redirection service. This script or HTML is interpreted by the Yahoo! Messenger client and is displayed in the client's web browser.
This vulnerability has been assigned as CAN-2002-0032 by the Common Vulnerabilities and Exposures (CVE) group:
These vulnerabilities were resolved in Yahoo! Messenger version 5,0,0,1065, released May 22, 2002; however, a bug in the distribution server may have inadvertantly installed Yahoo! Messenger version 5,0,0,1036 on systems that downloaded Yahoo! Messenger after May 22, 2002. The bug in the distribution server has since been resolved.
In February 2002, the following vulnerabilities were reported to affect Yahoo! Messenger:
All of these vulnerabilities were resolved in Yahoo! Messenger version 5,0,0,1058, released February 25, 2002, or by server-side resolutions around the same time.
A remote attacker can execute arbitrary code with the privileges of the victim user, cause a denial of service, or modify data in the victim's buddy list.
Implement a firewall and filtering
On May 22, 2002, Yahoo! released a fixed version of Yahoo! Messenger (5,0,0,1065) in the United States and began issuing a patch (5,0,0,1066) via the AutoUpdater to address this issue. All users should upgrade to version 5,0,0,1065 or later. Users with versions prior to 5,0,0,1066 that have "Auto Update" enabled will receive a message informing them that an upgrade is available. All users should accept this upgrade.
All of the international clients have been updated and should be available for download from the regional web site. Users with International or branded versions prior to 5,0,0,1066 should upgrade to version 5,0,0,1065 or later of the native client from the regional web site.
Users who downloaded Yahoo! Messenger after May 22, 2002, should be aware that a bug in the distribution server may have inadvertantly installed Yahoo! Messenger version 5,0,0,1036, which is vulnerable to all issues in this advisory. The bug in the distribution server has since been resolved.
Users should upgrade and verify the version of Yahoo! Messenger by selecting the "About Yahoo! Messenger..." option from the Help menu.
Yahoo! Messenger runs a variety of services on several ports. Yahoo! Messenger typically listens for peer-to-peer requests on port 5101/TCP and client-to-server communications on 5050/TCP, but is not limited to these ports. Users can attempt to implement a firewall to block inbound and outbound access to port 5101/TCP, 5050/TCP, or any other port(s) that Yahoo! Messenger chooses to bind a service. However, the Yahoo! Messenger client will attempt to connect to the server through ports 20, 21, 25, 37, 80, and 119 if 5050 is blocked, therefore this may not be a viable nor practical solution for most sites.
Note also that since Yahoo! Messenger URI's can be embedded in a web site or email message, blocking requests to and from these ports is not a completely effective solution. Mail and Internet filters should also be applied to filter the "ymsgr:" URI handler from email messages and web sites.
This appendix contains information provided by vendors for this advisory. When vendors report new information to the CERT/CC, we update this section and note the changes in our revision history. If a particular vendor is not listed below, we have not received their comments.
Yahoo! encourages users to upgrade to the latest version whenever prompted by the AutoUpdater or regularly check for updated versions of the client at http://messenger.yahoo.com.
International users should also upgrade to version 5,0,0,1066 or later, which is available from their regional messenger download site. For example, http://au.messenger.yahoo.com for Australian users.
The CERT Coordination Center thanks Scott Woodward <email@example.com>, Phuong Nguyen <firstname.lastname@example.org>, and Adam Lang <email@example.com> for their discovery and analysis of these vulnerabilities. We also thank Yahoo! for their assistance in analyzing and responding to these issues.
Feedback can be directed to the author: Jason A. Rafail
Copyright 2002 Carnegie Mellon University.
June 05, 2002: Initial release June 06, 2002: Updated information about ports and International versions June 07, 2002: Updated information International versions June 07, 2002: Updated information about ports and filtering June 07, 2002: Updated Yahoo! vendor statement