Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:22614
HistoryOct 13, 2009 - 12:00 a.m.

Microsoft Security Bulletin MS09-056 - Important Vulnerabilities in Windows CryptoAPI Could Allow Spoofing (974571)

2009-10-1300:00:00
vulners.com
30

Microsoft Security Bulletin MS09-056 - Important
Vulnerabilities in Windows CryptoAPI Could Allow Spoofing (974571)
Published: October 13, 2009

Version: 1.0
General Information
Executive Summary

This security update resolves two publicly disclosed vulnerabilities in Microsoft Windows. The vulnerabilities could allow spoofing if an attacker gains access to the certificate used by the end user for authentication.

This security update is rated Important for all supported editions of Microsoft Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, and Windows 7. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerabilities by modifying the CryptoAPI to reject certificate names that contain null terminators, and to correctly validate ASN.1 object identifiers. For more information about the vulnerabilities, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability entry under the next section, Vulnerability Information.

Recommendation. The majority of customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update at the earliest opportunity using update management software, or by checking for updates using the Microsoft Update service.

See also the section, Detection and Deployment Tools and Guidance, later in this bulletin.

Known Issues. None
Top of sectionTop of section
Affected and Non-Affected Software

The following software have been tested to determine which versions or editions are affected. Other versions or editions are either past their support life cycle or are not affected. To determine the support life cycle for your software version or edition, visit Microsoft Support Lifecycle.

Affected Software
Operating System Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update

Microsoft Windows 2000 Service Pack 4

Spoofing

Important

MS04-007

Windows XP Service Pack 2 and Windows XP Service Pack 3

Spoofing

Important

None

Windows XP Professional x64 Edition Service Pack 2

Spoofing

Important

None

Windows Server 2003 Service Pack 2

Spoofing

Important

None

Windows Server 2003 x64 Edition Service Pack 2

Spoofing

Important

None

Windows Server 2003 with SP2 for Itanium-based Systems

Spoofing

Important

None

Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Spoofing

Important

None

Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, and Windows Vista x64 Edition Service Pack 2

Spoofing

Important

None

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

Spoofing

Important

None

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Spoofing

Important

None

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

Spoofing

Important

None

Windows 7 for 32-bit Systems

Spoofing

Important

None

Windows 7 for x64-based Systems

Spoofing

Important

None

Windows Server 2008 R2 for x64-based Systems*

Spoofing

Important

None

Windows Server 2008 R2 for Itanium-based Systems

Spoofing

Important

None

*Server Core installation affected. This update applies, with the same severity rating, to supported editions of Windows Server 2008 and Windows Server 2008 R2, whether or not installed using the Server Core installation option. For more information on this installation option, see the MSDN articles, Server Core and Server Core for Windows Server 2008 R2. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008 and Windows Server 2008 R2; see Compare Server Core Installation Options.
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

Why does this update address several reported security vulnerabilities?
This update contains support for several vulnerabilities because the modifications that are required to address these issues are located in related files. Instead of having to install several updates that are almost the same, customers need to install this update only.

Does MBSA support detection for this security update on Windows 7 and Windows Server 2008 R2?
MBSA supports detection for this security update on Windows 7 and Windows Server 2008 R2 as of MBSA version 2.1.1, available as of the General Availability date of these operating systems. For more information, visit MBSA.

Where are the file information details?
Refer to the reference tables in the Security Update Deployment section for the location of the file information details.

I am using an older release of the software discussed in this security bulletin. What should I do?
The affected software listed in this bulletin have been tested to determine which releases are affected. Other releases are past their support life cycle. To determine the support life cycle for your software release, visit Microsoft Support Lifecycle.

It should be a priority for customers who have older releases of the software to migrate to supported releases to prevent potential exposure to vulnerabilities. For more information about the Windows Product Lifecycle, visit Microsoft Support Lifecycle. For more information about the extended security update support period for these software versions or editions, visit Microsoft Product Support Services.

Customers who require custom support for older releases must contact their Microsoft account team representative, their Technical Account Manager, or the appropriate Microsoft partner representative for custom support options. Customers without an Alliance, Premier, or Authorized Contract can contact their local Microsoft sales office. For contact information, visit Microsoft Worldwide Information, select the country, and then click Go to see a list of telephone numbers. When you call, ask to speak with the local Premier Support sales manager. For more information, see the Windows Operating System Product Support Lifecycle FAQ.
Top of sectionTop of section
Vulnerability Information

Severity Ratings and Vulnerability Identifiers

The following severity ratings assume the potential maximum impact of the vulnerability. For information regarding the likelihood, within 30 days of this security bulletin's release, of the exploitability of the vulnerability in relation to its severity rating and security impact, please see the Exploitability Index in the October bulletin summary. For more information, see Microsoft Exploitability Index.
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software Null Truncation in X.509 Common Name Vulnerability - CVE-2009-2510 Integer Overflow in X.509 Object Identifiers Vulnerability - CVE-2009-2511 Aggregate Severity Rating

Microsoft Windows 2000 Service Pack 4

Important
Spoofing

Important
Spoofing

Important

Windows XP Service Pack 2 and Windows XP Service Pack 3

Important
Spoofing

Important
Spoofing

Important

Windows XP Professional x64 Edition Service Pack 2

Important
Spoofing

Important
Spoofing

Important

Windows Server 2003 Service Pack 2

Important
Spoofing

Important
Spoofing

Important

Windows Server 2003 x64 Edition Service Pack 2

Important
Spoofing

Important
Spoofing

Important

Windows Server 2003 with SP2 for Itanium-based Systems

Important
Spoofing

Important
Spoofing

Important

Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Important
Spoofing

Important
Spoofing

Important

Windows Vista x64 Edition, Windows Vista x64 Edition Service Pack 1, Windows Vista x64 Edition Service Pack 2

Important
Spoofing

Important
Spoofing

Important

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

Important
Spoofing

Important
Spoofing

Important

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Important
Spoofing

Important
Spoofing

Important

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

Important
Spoofing

Important
Spoofing

Important

Windows 7 for 32-bit Systems

Important
Spoofing

Important
Spoofing

Important

Windows 7 for x64-based Systems

Important
Spoofing

Important
Spoofing

Important

Windows Server 2008 R2 for x64-based Systems*

Important
Spoofing

Important
Spoofing

Important

Windows Server 2008 R2 for Itanium-based Systems

Important
Spoofing

Important
Spoofing

Important

*Server Core installation affected. This update applies, with the same severity rating, to supported editions of Windows Server 2008 and Windows Server 2008 R2, whether or not installed using the Server Core installation option. For more information on this installation option, see the MSDN articles, Server Core and Server Core for Windows Server 2008 R2. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008 and Windows Server 2008 R2; see Compare Server Core Installation Options.
Top of sectionTop of section

Null Truncation in X.509 Common Name Vulnerability - CVE-2009-2510

A spoofing vulnerability exists in the Microsoft Windows CryptoAPI component when parsing ASN.1 information from X.509 certificates. An attacker who successfully exploited this vulnerability could impersonate another user or system.

To view this vulnerability as a standard entry in the Common Vulnerabilities and Exposures list, see CVE-2009-2510.

Mitigating Factors for Null Truncation in X.509 Common Name Vulnerability - CVE-2009-2510

Microsoft has not identified any mitigating factors for this vulnerability.
Top of sectionTop of section

Workarounds for Null Truncation in X.509 Common Name Vulnerability - CVE-2009-2510

Microsoft has not identified any workarounds for this vulnerability.
Top of sectionTop of section

FAQ for Null Truncation in X.509 Common Name Vulnerability - CVE-2009-2510

What is the scope of the vulnerability?
This is a spoofing vulnerability. When combined with specific other attacks, such as DNS spoofing, this may allow an attacker to successfully spoof the digital certificate of a Web site for any application that uses the CryptoAPI.

What causes the vulnerability?
The Windows CryptoAPI incorrectly parses a null terminator as the end of any values identified by an Object Identifier (OID). This causes the CryptoAPI to only parse part of the actual value. When this partial value has meaning to the end user, this may lead to a situation where an attacker could impersonate another user or system.

What is the Windows CryptoAPI?
The CryptoAPI provide services that enable application developers to add encryption/decryption of data, authentication using digital certificates, and encoding to and decoding from Abstract Syntax Notation One (ASN.1) to their Windows-based applications. Application developers can use the functions in CryptoAPI without knowing details of the underlying implementation, in much the same way as they can use a graphics library without knowing anything about the particular graphics hardware configuration. CryptoAPI works with a number of Cryptographic Service Providers that perform the actual cryptographic functions.

What is ASN.1?
Abstract Syntax Notation 1 (ASN.1) is a data standard that is used by many applications and devices in the technology industry for allowing the normalization and understanding of data across various platforms. ASN.1 has no direct relationship to any specific standard, encoding method, programming language, or hardware platform. It is simply a language for defining standards; standards are written in ASN.1.

More information about ASN.1 can be found in Microsoft Knowledge Base Article 252648.

What is the X.509 standard?
The X.509 specification defines a standard for managing public keys through a Public Key Infrastructure (PKI). Public keys are maintained in X.509 certificates, which are digital documents that bind a subject's identity claims to a public key from a public/private asymmetric key pair. Identity claims are usually understandable by humans, such as a person's full name or e-mail address, or a machine host name or domain name. X.509 certificates are endorsed and issued by a trusted third party, which is known as a certificate authority (CA).

What is an Object Identifier or OID?
Object Identifiers (OIDs) are numeric values issued by various issuing authorities to uniquely identify data elements, syntaxes, and other parts of distributed applications. OIDs are found in OSI applications, X.500 Directories, SNMP, and other applications where uniqueness is important. OIDs are based on a tree structure, in which a superior issuing authority, such as the ISO, allocates a branch of the tree to a sub-authority, who in turn can allocate sub-branches.

What is a NULL terminator?
A null terminator is a character with the value zero. In certain programming languages such as C, it is used as a reserved character to signify the end of a string.

What might an attacker use the vulnerability to do?
An attacker may be able to impersonate another user or system. Applications using the CryptoAPI to parse this data may return information to the user that could lead the user to make incorrect trust decisions.

How could an attacker exploit the vulnerability?
An attacker could abuse this vulnerability by convincing a Certificate Authority trusted by the client to sign a certificate containing a null terminator in the Common Name (CN) field. The attacker could then set up a rogue Web site which serves this certificate to a Windows computer. The computer would then incorrectly parse the Common Name field and offer incorrect trust information to the user.

What systems are primarily at risk from the vulnerability?
Clients that browse HTTPS Web sites, or use X.509 for certificates, for instance to protect e-mail conversations, are at particular risk for this vulnerability.

What does the update do?
This security update addresses the vulnerability by modifying the CryptoAPI to reject Certificate Names that contain null terminators.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
Yes. This vulnerability has been publicly disclosed. It has been assigned Common Vulnerability and Exposure number CVE-2009-2510.

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Microsoft is aware of Proof of Concept code that was published which would allow an attacker to exploit this vulnerability in limited scenarios. However, Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers.
Top of sectionTop of section
Top of sectionTop of section

Integer Overflow in X.509 Object Identifiers Vulnerability - CVE-2009-2511

A spoofing vulnerability exists in the Microsoft Windows CryptoAPI component when parsing ASN.1 object identifiers from X.509 certificates. An attacker who successfully exploited this vulnerability could impersonate another user or system.

To view this vulnerability as a standard entry in the Common Vulnerabilities and Exposures list, see CVE-2009-2511.

Mitigating Factors for Integer Overflow in X.509 Object Identifiers Vulnerability - CVE-2009-2511

Microsoft has not identified any mitigating factors for this vulnerability.
Top of sectionTop of section

Workarounds for Integer Overflow in X.509 Object Identifiers Vulnerability - CVE-2009-2511

Microsoft has not identified any workarounds for this vulnerability.
Top of sectionTop of section

FAQ for Integer Overflow in X.509 Object Identifiers Vulnerability - CVE-2009-2511

What is the scope of the vulnerability?
This is a spoofing vulnerability. When combined with specific other attacks, such as DNS spoofing, this may allow an attacker to successfully spoof the digital certificate of a Web site for any application that uses the CryptoAPI.

What causes the vulnerability?
The Windows CryptoAPI has an integer overflow when parsing ASN.1 object identifiers from X.509 certificates, such as the Common Name (CN). An attacker could generate a malicious certificate that would be parsed incorrectly by the Windows CryptoAPI, allowing the attacker to impersonate another user or system.

What is the Windows CryptoAPI?
The CryptoAPI provide services that enable application developers to add encryption/decryption of data, authentication using digital certificates, and encoding to and decoding from Abstract Syntax Notation One (ASN.1) to their Windows-based applications. Application developers can use the functions in CryptoAPI without knowing details of the underlying implementation, in much the same way as they can use a graphics library without knowing anything about the particular graphics hardware configuration. CryptoAPI works with a number of Cryptographic Service Providers that perform the actual cryptographic functions.

What is ASN.1?
Abstract Syntax Notation 1 (ASN.1) is a data standard that is used by many applications and devices in the technology industry for allowing the normalization and understanding of data across various platforms. ASN.1 has no direct relationship to any specific standard, encoding method, programming language, or hardware platform. It is simply a language for defining standards; standards are written in ASN.1.

More information about ASN.1 can be found in Microsoft Knowledge Base Article 252648.

What is the X.509 standard?
The X.509 specification defines a standard for managing public keys through a Public Key Infrastructure (PKI). Public keys are maintained in X.509 certificates, which are digital documents that bind a subject's identity claims to a public key from a public/private asymmetric key pair. Identity claims are usually understandable by humans, such as a person's full name or e-mail address, or a machine host name or domain name. X.509 certificates are endorsed and issued by a trusted third party, which is known as a certificate authority (CA).

What is an Object Identifier or OID?
Object Identifiers (OIDs) are unique numeric values issued by various issuing authorities to uniquely identify data elements, syntaxes, and other parts of distributed applications. OIDs are found in OSI applications, X.500 Directories, SNMP, and other applications where uniqueness is important. OIDs are based on a tree structure, in which a superior issuing authority, such as the ISO, allocates a branch of the tree to a sub-authority, who in turn can allocate sub-branches.

What might an attacker use the vulnerability to do?
An attacker may be able to impersonate another user or system. Applications using the CryptoAPI to parse this data may return information to the user that could lead the user to make incorrect trust decisions.

How could an attacker exploit the vulnerability?
An attacker could abuse this vulnerability by convincing a Certificate Authority trusted by the client to sign a certificate containing a malformed Object Identifier. The attacker could then set up a rogue Web site which serves this certificate to a Windows client. This client application would then incorrectly parse the Common Name field and offer incorrect trust information to the user.

What systems are primarily at risk from the vulnerability?
Client applications that browse HTTPS web sites, or use X.509 for certificates, for instance to protect e-mail conversations, are at particular risk for this vulnerability.

What does the update do?
This security update addresses the vulnerability by causing the CryptoAPI to correctly validating ASN.1 Object Identifiers.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
Yes. This vulnerability has been publicly disclosed. It has been assigned Common Vulnerability and Exposure number CVE-2009-2511.

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
No. Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers and had not seen any examples of proof of concept code published when this security bulletin was originally issued.

Other Information
Acknowledgments

Microsoft thanks the following for working with us to help protect customers:

Ian Wright and Jean-Luc Giraud of Citrix for working with us on the Null Truncation in X.509 Common Name Vulnerability (CVE-2009-2510)

Dan Kaminsky of IOActive for reporting the Null Truncation in X.509 Common Name Vulnerability (CVE-2009-2510) and the Integer Overflow in X.509 Object Identifiers Vulnerability (CVE-2009-2511)
Top of sectionTop of section
Microsoft Active Protections Program (MAPP)

To improve security protections for customers, Microsoft provides vulnerability information to major security software providers in advance of each monthly security update release. Security software providers can then use this vulnerability information to provide updated protections to customers via their security software or devices, such as antivirus, network-based intrusion detection systems, or host-based intrusion prevention systems. To determine whether active protections are available from security software providers, please visit the active protections Web sites provided by program partners, listed in Microsoft Active Protections Program (MAPP) Partners.

Support

Customers in the U.S. and Canada can receive technical support from Security Support or 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. For more information about available support options, see Microsoft Help and Support.

International customers can receive support from their local Microsoft subsidiaries. There is no charge for support that is associated with security updates. For more information about how to contact Microsoft for support issues, visit the International Support Web site.

Disclaimer

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.

Revisions

V1.0 (October 13, 2009): Bulletin published.