|From:||MICROSOFT <secure_(at)_microsoft.com> |
|Subject:||UPDATE: Microsoft Security Bulletin MS02-050: Certificate Validation Flaw Could Enable Identity Spoofing (Q329115)|
-----BEGIN PGP SIGNED MESSAGE-----
Title: Certificate Validation Flaw Could Enable Identity
Released: 04 September 2002
Revised: 20 November 2002 (version 4.0)
Software: Microsoft Windows, Microsoft Office for Mac, Microsoft
Internet Explorer for Mac, or Microsoft Outlook Express
Impact: Identity spoofing and, in some cases, ability to gain
control over a user's system.
Max Risk: Important
Microsoft encourages customers to review the Security Bulletin at:
Reason for Revision:
The original version of this bulletin was released on 05 September
2002. On 09 September 2002, we updated the bulletin to advise
customers that a Microsoft-issued digital certificate, used to sign
device drivers, did not meet the stricter validation standards
established by the patch. As a result, customers who installed the
patch could see unexpected error messages when installing new
hardware, or in some cases might be unable to install new hardware
altogether. On 20 November 2002, we released an updated version of
the patch that not only eliminates this problem, but also eliminates
a newly discovered variant of the original vulnerability.
The IETF Profile of the X.509 certificate standard defines several
optional fields that can be included in a digital certificate. One
of these is the Basic Constraints field, which indicates the maximum
allowable length of the certificate's chain and whether the
certificate is a Certificate Authority or an end-entity certificate.
However, the APIs within CryptoAPI that construct and validate
certificate chains (CertGetCertificateChain(),
CertVerifyCertificateChainPolicy(), and WinVerifyTrust()) do not
check the Basic Constraints field. The same flaw, unrelated to
CryptoAPI, is also present in several Microsoft products for
The vulnerability identified in the original version of the bulletin
could enable an attacker who had a valid end-entity certificate to
issue a subordinate certificate that, although bogus, would
nevertheless pass validation. Because CryptoAPI is used by a wide
range of applications, this could enable a variety of identity
spoofing attacks. These are discussed in detail in the FAQ, but
- Setting up a web site that poses as a different web site, and
"proving" its identity by establishing an SSL session as the
legitimate web site.
- Sending emails signed using a digital certificate that
purportedly belongs to a different user.
- Spoofing certificate-based authentication systems to gain entry
as a highly privileged user.
- Digitally signing malware using an Authenticode certificate that
claims to have been issued to a company users might trust.
The newly discovered vulnerability announced on 20 November 2002 is
closely related to the one discussed in the original version of the
bulletin and, like that vulnerability, involves a flaw in the way
certificate validation is performed. However, this vulnerability
could enable an attacker to gain control over a user's system.
Because a fix for this vulnerability was not included in the original
version of the patch, Microsoft strongly recommends that customers
install the new patch, even if they installed the original version
of the patch. Only Microsoft Windows 98, Windows 98 Second Edition,
Windows NT 4.0, and Windows NT 4.0, Terminal Server Edition are
affected by this variant.
- The user could always manually check a certificate chain, and
might notice in the case of a spoofed chain that there was an
unfamiliar intermediate CA.
- Unless the attacker's digital certificate were issued by a CA
in the user's trust list, the certificate would generate a
warning when validated.
- The attacker could only spoof certificates of the same type
as the one he or she possessed. In the case where the attacker
attempted an attack using a high-value certificate such as
Authenticode certificates, this would necessitate obtaining a
legitimate certificate of the same type - which could require
the attacker to prove his or her identity or entitlement to the
Web Site Spoofing:
- The vulnerability provides no way for the attacker to cause the
user to visit the attacker's web site. The attacker would need
to redirect the user to a site under the attacker's control
using a method such as DNS poisoning. As discussed in the FAQ,
this is extremely difficult to carry out in practice.
- The vulnerability could not be used to extract information from
the user's computer. The vulnerability could only be used by an
attacker as a means of convincing a user that he or she has
reached a trusted site, in the hope of persuading the user to
voluntarily provide sensitive data.
- The "from" address on the spoofed mail would need to match the
one specified in the certificate, giving rise to either of two
scenarios if a recipient replied to the mail. In the case where
the "from" and "reply-to" fields matched, replies would be sent
to victim of the attack rather than the attacker. In the case
where the fields didn't match, replies would obviously be
addressed to someone other than ostensible sender. Either case
could be a tip-off that an attack was underway.
- In most cases where certificates are used for user
authentication, additional information contained within the
certificate is necessary to complete the authentication. The
type and format of such data typically varies with every
installation, and as a result significant insider information
would likely be required for a successful attack.
- To the best of Microsoft's knowledge, such an attack could not
be carried out using any commercial CA's Authenticode
certificates. These certificates contain policy information that
causes the Basic Constraints field to be correctly evaluated,
and none allow end-entity certificates to act as CAs.
- Even if an attack were successfully carried out using an
Authenticode certificate that had been issued by a corporate
PKI, it wouldn't be possible to avoid warning messages, as
trust in Authenticode is brokered on a per-certificate, not
Note: Responding to customer feedback, Microsoft updated its
severity rating system November 18, 2002. Security bulletins that
originally posted under the old system - before November 18,
2002 - and are later re-released under the new system, will
reflect the severity rating assessed under the new revised
system Severity Rating criteria
- A patch is available to fix this vulnerability. Please read the
Security Bulletin at
for information on obtaining this patch.
- UK National Infrastructure Security Co-ordination Centre (NISCC)
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.
-----BEGIN PGP SIGNATURE-----
Version: PGP 7.1
-----END PGP SIGNATURE-----
You have received this e-mail bulletin because of your subscription to the Microsoft
Product Security Notification Service. For more information on this service, please visit
To verify the digital signature on this bulletin, please download our PGP key at
To unsubscribe from the Microsoft Security Notification Service, please visit the Microsoft
Profile Center at http://register.microsoft.com/regsys/pic.asp
If you do not wish to use Microsoft Passport, you can unsubscribe from the Microsoft
Security Notification Service via email as described below:
Reply to this message with the word UNSUBSCRIBE in the Subject line.
For security-related information about Microsoft products, please visit the Microsoft
Security Advisor web site at http://www.microsoft.com/security.