Overview:
=========
RIM Blackberry is a Java-based wireless connectivity solution providing
phone, e-mail, and other services on a variety of handheld devices.

Affected products:
==================
All tests were performed on a RIM Blackberry 7230 with RIM Blackberry
Operating System software version 3.7.1.41. The Blackberry was synchronized
with Microsoft Exchange server using Blackberry Enterprise Server for
Microsoft Exchange.

Cause and Effect:
=================
Insufficient data validation for incoming calendar data makes possible
to cause buffer overflow condition leading to stack corruption. As a result,
it is possible to reboot the device (all stored messages will be lost since
RAM storage will be reinitialized). It is also possible to execute code
embedded by the attacker. It should be mentioned that Blackberry developers
tools are freely available.

Demonstration:
==============
The issue can easily be reproduced by sending a standard Microsoft Outlook
meeting request message with very long string (over 128K) in the "Location:"
field. To force immediate user notification, set meeting date/time to the
past. The Blackberry reboots when it tries to notify the user. No user action
is required. It is possible to render Blackberry device completely useless by
queuing a number of such messages into user's mailbox.

Vendor Status:
==============
At the time of release vendor was not aware of the vulnerability.
HexView does not notify vendors unless there is a prior agreement to do so.
Vendors interested in receiving notifications prior to public disclosure
or more detailed analysis may obtain more information by writing to the
e-mail address provided at the end of the document.

About HexView:
==============
HexView contributes to online security-related lists for almost a decade.
The scope of our expertize spreads over Windows, Linux, Sun, MacOS platforms,
network applications, and embedded devices. The chances are you read our
advisories or disclosures. For more information visit http://www.hexview.com

Distribution:
=============
This document may be freely distributed through any channels as long as the
contents are kept unmodified. Commercial use of the information in the document
is not allowed without written permission from HexView signed by our pgp key.

Feedback and comments:
======================
Feedback and questions about this disclosure are welcome at

A HexView advisory published on October 12, 2004 identified an issue in BlackBerry handheld software version 3.7 Service Pack 1 that is known to Research In Motion and has already been corrected in BlackBerry handheld software version 3.8 and later.

The HexView advisory correctly identifies a scenario that can be manufactured to cause a handheld to reset, but Research In Motion believes that the advisory contains several incorrect conclusions about the potential impact of the issue. While exploiting the software issue could cause a handheld to reset, it does not constitute a buffer overflow or data loss vulnerability. As of this time, Research In Motion has not received any customer reports of this issue being exploited in practice.

Background

HexView published a brief advisory October 12, 2004. HexView's policy at that time was not to contact vendors in advance unless a vendor has a prior agreement with HexView. As such, Research In Motion was not notified, in advance, and was not able to provide any feedback to HexView in advance of their release. RIM has since contacted HexView and HexView was helpful in assisting RIM.

In its advisory, HexView points out the issue can be created by sending a Microsoft Outlook meeting request message with a large string, over 128KB, in the Location field. It is important to note that Microsoft Outlook limits the size of the Location field to 255 characters, or bytes, so a large Location field cannot be normally or inadvertently created. Nonetheless, Research In Motion has replicated the issue defined by HexView on handhelds running handheld software version 3.7 Service Pack 1 software and confirmed a handheld reset can occur. However, Research In Motion believes the additional conclusions in the advisory are incorrect. Specifically:

a buffer overflow and stack corruption do not occur;

stored messages and user data are not lost these are stored in non-volatile Flash memory - not RAM; and

malicious code cannot be embedded and executed on the device.

In actuality, a watchdog timer causes the handheld to reset.
Actions

Research In Motion has previously implemented a fix to address the reset issue described above in the most recent handheld software version 3.8 and version 4.0.

RIM also plans to implement a further safeguard at the server level in BlackBerry Enterprise Server version 4.0, as well as future revisions of BlackBerry Enterprise Server version 3.6 for Microsoft Exchange and BlackBerry Enterprise Server for IBM Lotus Domino version 2.2, that will prevent artificially large or problematic meeting request messages from being delivered to the handheld, thereby eliminating the need for handheld software to be upgraded to version 3.8 or version 4.0.