Microsoft Security Bulletin MS02-058 - Critical
Unchecked Buffer in Outlook Express S/MIME Parsing Could Enable System Compromise (Q328676)
Published: October 10, 2002 | Updated: October 11, 2002
Originally posted: October 10, 2002
Who should read this bulletin: Customers using Microsoft® Outlook Express
Impact of vulnerability: Run code of attackers choice.
Maximum Severity Rating: Critical
Recommendation: Customers using Outlook Express should apply the patch
Microsoft Outlook Express 6.0
Microsoft Outlook Express 5.5
Microsoft Outlook is a different product than Microsoft Outlook Express, and is not affected by the vulnerability.
To allow for verification of the authenticity of mail messages, Microsoft Outlook Express supports digital signing of messages through S/MIME. A buffer overrun vulnerability lies in the code that generates the warning message when a particular error condition associated with digital signatures occurs.
By creating a digitally signed email and editing it to introduce specific data, then sending it to another user, an attacker could cause either of two effects to occur if the recipient opened or previewed it. In the less serious case, the attacker could cause the mail client to fail. If this happened, the recipient could resume normal operation by restarting the mail client and deleting the offending mail. In the more serious case, the attacker could cause the mail client to run code of their choice on the user's machine. Such code could take any desired action, limited only by the permissions of the recipient on the machine.
This vulnerability could only affect messages that are signed using S/MIME and sent to an Outlook Express user. Users of Microsoft Outlook products are not affected by this vulnerability.
- Microsoft Outlook is not affected by this vulnerability.
- Outlook Express runs in the context of the user. Exploiting this vulnerability would in the worst case scenario allow an attacker to run arbitrary code in the context of the users' privileges only. Any restrictions on the users' account would apply to the attackers code.
|Internet Servers||Intranet Servers||Client Systems|
|Outlook Express 6.0||Low||Low||Critical|
|Outlook Express 5.5||Low||Low||Critical|
The above assessment is based on the types of systems affected by the vulnerability, their typical deployment patterns, and the effect that exploiting the vulnerability would have on them.
Vulnerability identifier: CAN-2002-1179
Microsoft tested Outlook Express 5.5 and 6.0 to assess whether they are affected by these vulnerabilities. Previous versions are no longer supported, and may or may not be affected by these vulnerabilities.
Frequently asked questions
What's the scope of the vulnerability?
This is a buffer overrun vulnerability. An attacker who successfully exploited this vulnerability against another user's system would be able to take any action that the system's legitimate user could take. This could include adding, deleting or modifying data files, communicating with web sites, reformatting the hard drive, and other actions. The vulnerability does not affect users of Microsoft Outlook. Even in a successful attack, the attacker would not necessarily gain complete control over the system. Specifically, in a successful attack the attacker would gain the privileges of the user, rather than the operating system. If the user's account had been configured to limit its privileges on the system, the attacker would likewise be limited.
What causes the vulnerability?
The vulnerability results because of an unchecked buffer that lies in the code that generates the warning message associated with the processing of S/MIME signed mail.
What is Outlook Express?
Outlook Express (OE) is a free, basic mail client that ships as part of Internet Explorer. By default, OE is installed on every Windows system but must be configured to work with a particular mail server before it can receive mail.
Is Outlook Express the same thing as Outlook?
No. They're completely different products. Most importantly in this case, Microsoft Outlook is not affected by this vulnerability.
What is a buffer overrun?
A buffer overrun is an attack in which a malicious user exploits an unchecked buffer in a program and overwrites the program code with their own data. If the program code is overwritten with new executable code, the effect is to change the program's operation as dictated by the attacker. If overwritten with other data, the likely effect is to cause the program to crash.
What is S/MIME?
S/MIME (Secure/Multipurpose Internet Mail Extensions) provides a consistent way to send and receive secure MIME data. Based on the popular Internet MIME standard, S/MIME provides the following cryptographic security services for electronic messaging applications: authentication, message integrity and non-repudiation of origin (using digital signatures) and privacy and data security (using encryption). For a description of S/MIME and information about digital certificates, see Microsoft Knowledge Base article Q195724, RFC 2633 section 1, and the article Working with the Outlook 2000 Security Model. (Please note that, although the latter article discusses the S/MIME technology in the context of Microsoft Outlook, Outlook is not affected by the vulnerability).
What's wrong with the way OE handles S/MIME certificates?
When Outlook Express parses a digitally signed S/MIME mail, it checks for several error conditions that can occur. A flaw lies in the code that generates the warning message associated with one such error condition - specifically, the code is susceptible to a buffer overrun.
What could this vulnerability enable an attacker to do?
An attacker could mount a buffer overrun attack that could result in two possible scenarios. If the buffer were overrun with random data, the application would tend to fail. However, if it were overrun with specially chosen data, it could be possible to; in essence; change the functionality of the application - in this case, OE - while it's running. In this case, the former attack (overrunning the buffer with random data) wouldn't accomplish much, except to cause the mail client to fail. If this happened, the user could just restart it, delete the offending mail, and continue working. However, the latter attack would allow the attacker to make OE do whatever he or she wanted on the machine of the person who opened the message, limited only by the recipient's permissions on the machine. If the recipient had few privileges on the machine, the code might be able to do very little. On the other hand, if the recipient had administrative privileges on the machine, the code could do virtually anything on the machine.
How could an attacker seek exploit this vulnerability?
An attacker could seek to exploit this vulnerability by sending a user a specially crafted email that contained a malformed S/MIME certificate. If the user opened the email, or viewed it using the preview pane, they could be at risk to this attack.
If I received such a mail, would I need to do anything other than open or preview the mail in order for the vulnerability to be exploited?
No. Simply opening the mail, or viewing it through Preview Mode, would be enough to allow the attacker to exploit the vulnerability. This is one reason why it's so important to apply the patch immediately.
I'm up to date on all service packs for my system. Do I need the patch?
The fix for this issue was included in Windows XP Service Pack 1, and in Internet Explorer 6.0 Service Pack 1. If you've installed either of these two service packs, you're already protected against the vulnerability and don't need the patch.
How does the patch address the vulnerability?
The patch causes the affected component of OE to truncate all inputs that are longer than the buffer that's designed to hold them.
Download locations for this patch
- Microsoft Outlook Express: https:
Additional information about this patch
- The patch for Outlook Express 6.0 can be applied to systems running Outlook Express 6.0 Gold
- The patch for Outlook Express 5.5 can be applied to systems running Internet Explorer 5.5 Service Pack 2.
Inclusion in future service packs:
- The fix for this issue is included in Internet Explorer 6.0 Service Pack 1 (which is also included as part of Windows XP Service Pack 1).
- The fix for this issue will be included in any future service packs for Internet Explorer 5.5.
Reboot needed: No
Patch can be uninstalled: No
Superseded patches: None.
Verifying patch installation:
Outlook Express 6.0
- To verify that the patch has been installed on the machine, open Internet Explorer, select Help, then select About Internet Explorer and confirm that Q328676 is listed in the Update Versions field. Alternatively, from Outlook Express select Help, then select About Outlook Express and confirm that the msoe.dll matches the version called out in Q328676.
- To verify the individual files, use the patch manifest provided in Knowledge Base article Q328676
Outlook Express 5.5 Service Pack 2
- To verify that the patch has been installed on the machine, open IE, select Help, then select About Internet Explorer and confirm that Q328389 is listed in the Update Versions field. Alternatively, from Outlook Express select Help, then select About Outlook Express and confirm that the msoe.dll matches the version called out in Q328389.
- To verify the individual files, use the patch manifest provided in Knowledge Base article Q328389
- If the patch for Outlook Express 6.0 is installed on a system that already has Windows XP Service Pack 1 or Internet Explorer 6 Service Pack 1 installed, it will display a warning message that reads "This update requires Internet Explorer 6.0 to be installed". The wording of this message is incorrect, and should say that the patch is not needed -- the fix for this issue is already included in both of the aforementioned service packs.
- Under a very unusual set of conditions, it could be possible to inadvertently remove the patch. Specifically, if the patch is installed on a system, and the user subsequently installs and uninstalls Windows XP Service Pack 1, the effect will be to remove not only Service Pack 1, but the patch as well. Similarly, installing and the uninstalling Internet Explorer 6.0 Service Pack 1 will remove the patch, if it's previously been installed. In either scenario, the patch should be separately re-applied after uninstalling the service pack
Localized versions of this patch are available at the locations discussed in "Patch Availability".
Obtaining other security patches:
Patches for other security issues are available from the following locations:
- Security patches are available from the Microsoft Download Center, and can be most easily found by doing a keyword search for "security_patch".
- Patches for consumer platforms are available from the WindowsUpdate web site
- Microsoft Knowledge Base article Q328676 discusses this issue and will be available approximately 24 hours after the release of this bulletin. Knowledge Base articles can be found on the Microsoft Online Support web site.
- Technical support is available from Microsoft Product Support Services. There is no charge for support calls associated with security patches.
Security Resources: The Microsoft TechNet Security Web Site provides additional information about security in Microsoft products.
The information provided in the Microsoft Knowledge Base is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation 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.
- V1.0 (October 10, 2002): Bulletin Created.
- V1.1 (October 11, 2002): Caveats section updated to provide information on the warning message that is displayed when the patch is installed on a system that does not require it.
- V1.2 (October 11, 2002): Affected Software section updated to emphasise that this fix is included in Windows XP Service Pack 1 and Internet Explorer 6.0 Service Pack 1.
Built at 2014-04-18T13:49:36Z-07:00 </https:>