Security Bulletin

Microsoft Security Bulletin MS12-021 - Important

Vulnerability in Visual Studio Could Allow Elevation of Privilege (2651019)

Published: March 13, 2012

Version: 1.0

General Information

Executive Summary

This security update resolves one privately reported vulnerability in Visual Studio. The vulnerability could allow elevation of privilege if an attacker places a specially crafted add-in in the path used by Visual Studio and convinces a user with higher privileges to start Visual Studio. An attacker must have valid logon credentials and be able to log on locally to exploit this vulnerability. The vulnerability could not be exploited remotely or by anonymous users.

This security update is rated Important for all supported editions of Microsoft Visual Studio 2008 and Microsoft Visual Studio 2010. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerability by correcting the manner in which Visual Studio restricts where add-ins are loaded. For more information about the vulnerability, 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. Microsoft Knowledge Base Article 2651019 documents the currently known issues that customers may experience when installing this security update. The article also documents recommended solutions for these issues.

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

Software Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update
Microsoft Visual Studio 2008 Service Pack 1\ (KB2669970) Elevation of Privilege Important None
Microsoft Visual Studio 2010\ (KB2644980) Elevation of Privilege Important None
Microsoft Visual Studio 2010 Service Pack 1\ (KB2645410) Elevation of Privilege Important None

Non-Affected Software

Software
Microsoft Visual Studio .NET 2003 Service Pack 1
Microsoft Visual Studio 2005 Service Pack 1

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. For more information about the product lifecycle, visit the Microsoft Support Lifecycle website.

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. To determine the support lifecycle for your software release, see Select a Product for Lifecycle Information. For more information about service packs for these software releases, see Service Pack Lifecycle Support Policy.

Customers who require custom support for older software 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 the Microsoft Worldwide Information website, select the country in the Contact Information list, 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 Microsoft Support Lifecycle Policy FAQ.

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 March bulletin summary. For more information, see Microsoft Exploitability Index.

Affected Software Visual Studio Add-In Vulnerability - CVE-2012-0008 Aggregate Severity Rating
Microsoft Visual Studio 2008 Service Pack 1 Important \ Elevation of Privilege Important
Microsoft Visual Studio 2010 Important \ Elevation of Privilege Important
Microsoft Visual Studio 2010 Service Pack 1 Important \ Elevation of Privilege Important

Visual Studio Add-In Vulnerability - CVE-2012-0008

An elevation of privilege vulnerability exists in Visual Studio due to the insecure loading of add-ins from within Visual Studio. An attacker who successfully exploited this vulnerability could run arbitrary code with elevated privileges. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

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

Mitigating Factors for Visual Studio Add-In Vulnerability - CVE-2012-0008

Mitigation refers to a setting, common configuration, or general best-practice, existing in a default state, that could reduce the severity of exploitation of a vulnerability. The following mitigating factors may be helpful in your situation:

  • An attacker must have valid logon credentials and be able to log on locally to exploit this vulnerability. The vulnerability could not be exploited remotely or by anonymous users.

Workarounds for Visual Studio Add-In Vulnerability - CVE-2012-0008

Microsoft has not identified any workarounds for this vulnerability.

FAQ for Visual Studio Add-In Vulnerability - CVE-2012-0008

What is the scope of the vulnerability? 
This is an elevation of privilege vulnerability. An attacker who successfully exploited this vulnerability could execute arbitrary code and take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

What causes the vulnerability? 
This vulnerability is caused by Visual Studio loading add-ins from insecure file locations.

What is a Visual Studio add-in? 
Visual Studio add-ins implement an extensibility interface within Visual Studio for customizing and automating the interactive development environment (IDE). Developers choose to automate the Visual Studio IDE to increase their productivity. As developers create more and more applications, they may find themselves spending more time doing redundant project setup and configuration. Add-ins help developers cut out redundancy and allow them to focus on core development tasks. Developers can take this mundane set of steps out of the process by using a combination of add-ins, macros, and templates. For more information about Visual Studio add-ins, see the MSDN article, Creating Visual Studio Add-Ins.

What might an attacker use the vulnerability to do? 
An attacker who successfully exploited this vulnerability could run arbitrary code with elevated privileges. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

How could an attacker exploit the vulnerability? 
To exploit this vulnerability, an attacker would first have to log on to the system. An attacker could then place a specially crafted add-in in the path used by Visual Studio. When Visual Studio is started by an administrator, the specially crafted add-in would be loaded with the same privileges as the administrator.

What systems are primarily at risk from the vulnerability? 
Systems where Microsoft Visual Studio is used for development, including workstations and terminal servers, are primarily at risk. Servers could be at more risk if administrators allow users to log on to servers and to run programs. However, best practices strongly discourage allowing this.

What does the update do? 
The update addresses this vulnerability by correcting the manner in which Visual Studio restricts where add-ins are loaded.

When this security bulletin was issued, had this vulnerability been publicly disclosed? 
No. Microsoft received information about this vulnerability through coordinated vulnerability disclosure.

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 when this security bulletin was originally issued.

Update Information

Detection and Deployment Tools and Guidance

Security Central

Manage the software and security updates you need to deploy to the servers, desktop, and mobile systems in your organization. For more information see the TechNet Update Management Center. The Microsoft TechNet Security website provides additional information about security in Microsoft products.

Security updates are available from Microsoft Update and Windows Update. Security updates are also available from the Microsoft Download Center. You can find them most easily by doing a keyword search for "security update."

Finally, security updates can be downloaded from the Microsoft Update Catalog. The Microsoft Update Catalog provides a searchable catalog of content made available through Windows Update and Microsoft Update, including security updates, drivers and service packs. By searching using the security bulletin number (such as, "MS07-036"), you can add all of the applicable updates to your basket (including different languages for an update), and download to the folder of your choosing. For more information about the Microsoft Update Catalog, see the Microsoft Update Catalog FAQ.

Detection and Deployment Guidance

Microsoft provides detection and deployment guidance for security updates. This guidance contains recommendations and information that can help IT professionals understand how to use various tools for detection and deployment of security updates. For more information, see Microsoft Knowledge Base Article 961747.

Microsoft Baseline Security Analyzer

Microsoft Baseline Security Analyzer (MBSA) allows administrators to scan local and remote systems for missing security updates as well as common security misconfigurations. For more information about MBSA, visit Microsoft Baseline Security Analyzer.

The following table provides the MBSA detection summary for this security update.

Software MBSA
Microsoft Visual Studio 2008 Service Pack 1 Yes
Microsoft Visual Studio 2010 Yes
Microsoft Visual Studio 2010 Service Pack 1 Yes

Note For customers using legacy software not supported by the latest release of MBSA, Microsoft Update, and Windows Server Update Services, please visit Microsoft Baseline Security Analyzer and reference the Legacy Product Support section on how to create comprehensive security update detection with legacy tools.

Windows Server Update Services

Windows Server Update Services (WSUS) enables information technology administrators to deploy the latest Microsoft product updates to computers that are running the Windows operating system. For more information about how to deploy security updates using Windows Server Update Services, see the TechNet article, Windows Server Update Services.

Systems Management Server

The following table provides the SMS detection and deployment summary for this security update.

Software SMS 2003 with ITMU Configuration Manager 2007
Microsoft Visual Studio 2008 Service Pack 1 Yes Yes
Microsoft Visual Studio 2010 Yes Yes
Microsoft Visual Studio 2010 Service Pack 1 Yes Yes

Note Microsoft discontinued support for SMS 2.0 on April 12, 2011. For SMS 2003, Microsoft also discontinued support for the Security Update Inventory Tool (SUIT) on April 12, 2011. Customers are encouraged to upgrade to System Center Configuration Manager 2007. For customers remaining on SMS 2003 Service Pack 3, the Inventory Tool for Microsoft Updates (ITMU) is also an option.

For SMS 2003, the SMS 2003 Inventory Tool for Microsoft Updates (ITMU) can be used by SMS to detect security updates that are offered by Microsoft Update and that are supported by Windows Server Update Services. For more information about the SMS 2003 ITMU, see SMS 2003 Inventory Tool for Microsoft Updates. For more information about SMS scanning tools, see SMS 2003 Software Update Scanning Tools. See also Downloads for Systems Management Server 2003.

System Center Configuration Manager 2007 uses WSUS 3.0 for detection of updates. For more information about Configuration Manager 2007 Software Update Management, visit System Center Configuration Manager 2007.

For more information about SMS, visit the SMS website.

For more detailed information, see Microsoft Knowledge Base Article 910723: Summary list of monthly detection and deployment guidance articles.

Update Compatibility Evaluator and Application Compatibility Toolkit

Updates often write to the same files and registry settings required for your applications to run. This can trigger incompatibilities and increase the time it takes to deploy security updates. You can streamline testing and validating Windows updates against installed applications with the Update Compatibility Evaluator components included with Application Compatibility Toolkit.

The Application Compatibility Toolkit (ACT) contains the necessary tools and documentation to evaluate and mitigate application compatibility issues before deploying Windows Vista, a Windows Update, a Microsoft Security Update, or a new version of Windows Internet Explorer in your environment.

Security Update Deployment

Affected Software

For information about the specific security update for your affected software, click the appropriate link:

Microsoft Visual Studio 2008 Service Pack 1

Reference Table

The following table contains the security update information for this software. You can find additional information in the subsection, Deployment Information, in this section.

Inclusion in Future Service Packs None
Deployment
Installing without user intervention VS90SP1-KB2669970-x86.exe /q
Installing without restarting VS90SP1-KB2669970-x86.exe /norestart
Update log file Not applicable
Further information For detection and deployment, see the earlier section, Detection and Deployment Tools and Guidance.
Restart Requirement
Restart required? This update may require a restart. The installer stops the required services, applies the update, and then restarts the services. However, if the required services cannot be stopped for any reason, or if the required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to allow the restart.
Hotpatching Not applicable
Removal Information Use Add or Remove Programs item in Control Panel.
File Information See Microsoft Knowledge Base Article 2669970
Registry Key Verification HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft Visual Studio Team System 2008 Team Suite - ENU\SP1\KB2669970\ "ThisVersionInstalled" = REG_SZ:"Y"

Deployment Information

Installing the Update

You can install the update from the appropriate download link in the Affected and Non-Affected Software section. If you installed your application from a server location, the server administrator must instead update the server location with the administrative update and deploy that update to your system. For more information about Administrative Installation Points, refer to the Office Administrative Installation Point information in the Detection and Deployment Tools and Guidance subsection.

This security update requires that Windows Installer 2.0 or later be installed on the system. All supported versions of Windows include Windows Installer 2.0 or a later version.

To install the latest version of Windows Installer, visit the following Microsoft website:

For more information about the terminology that appears in this bulletin, such as hotfix, see Microsoft Knowledge Base Article 824684.

This security update supports the following setup switches.

Switch Description
/? or /h or /help Display usage dialog box.
Setup Mode ** **
/q[n b r f] Sets user interface level\ n - No UI\ b - Basic UI\ r - Reduced UI\ f - Full UI
/quiet Same as /q
/passive Same as /qb
Install Options ** **
/extract [directory] Extract the package to the specified directory.
/uninstall or /u Uninstall this update.
/addsource or /as Specifies the source path of the product msi. This option may be used when installing the update results in a prompt to insert the installation source media for the product. For example:\ <update executable> /addsource "C:\Product MSI\Visual Studio\enu\vs_setup.msi" /addsource "C:\Product MSI\Net\Netfx.msi"
Restart Options ** **
/norestart Do not restart after the installation is complete
/promptrestart Prompts the user for restart if necessary
/forcerestart Always restart the computer after installation
Logging Options ** **
/l[i w e a r u c m o p v x + ! *] <LogFile> i - Status messages\ w - Nonfatal warnings\ e - All error messages\ a - Start up of actions\ r - Action-specific records\ u - User requests\ c - Initial UI parameters\ m - Out-of-memory or fatal exit information\ o - Out-of-disk-space messages\ p - Terminal properties\ v - Verbose output\ x - Extra debugging information\ + - Append to existing log file\ ! - Flush each line to the log\ * - Log all information, except for v and x options
/log <LogFile> Equivalent of /l* <LogFile>
/sendreport Send installation data for this update to Microsoft as a Watson report. No personally identifiable information is sent.

Note You can combine these switches into one command. For backward compatibility, the security update also supports many of the setup switches that the earlier version of the Setup program uses. For more information about the supported installation switches, see Microsoft Knowledge Base Article 262841.

Removing the Update

To remove this security update, use the Add or Remove Programs item in Control Panel.

Verifying that the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

    To verify that a security update has been applied to an affected system, you may be able to use the Microsoft Baseline Security Analyzer (MBSA) tool. See the “Microsoft baseline Security Analyzer” heading under the section, Microsoft Detection and Deployment Tools and Guidance.

  • File Version Verification

    Note Because there are several versions and editions of Microsoft Windows, the following steps may be different on your system. If they are, see your product documentation to complete these steps.

    1. Click Start, and then click Search.
    2. In the Search Results pane, click All files and folders under Search Companion.
    3. In the All or part of the file name box, type a file name from the appropriate file information table, and then click Search.
    4. In the list of files, right-click a file name from the appropriate file information table, and then click Properties.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    5. On the Version tab, determine the version of the file that is installed on your system by comparing it to the version that is documented in the appropriate file information table.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.

Microsoft Visual Studio 2010 (all editions)

Reference Table

The following table contains the security update information for this software. You can find additional information in the subsection, Deployment Information, in this section.

Inclusion in Future Service Packs Microsoft Visual Studio 2010 Service Pack 1
Deployment
Installing without user intervention For Microsoft Visual Studio 2010:\ VS10-KB2644980-x86.exe /q
For Microsoft Visual Studio 2010 Service Pack 1:\ VS10SP1-KB2645410-x86.exe /q
Installing without restarting For Microsoft Visual Studio 2010:\ VS10-KB2644980-x86.exe /norestart
For Microsoft Visual Studio 2010 Service Pack 1:\ VS10SP1-KB2645410-x86.exe /norestart
Update log file Not applicable
Further information For detection and deployment, see the earlier section, Detection and Deployment Tools and Guidance.
Restart Requirement
Restart required? This update may require a restart. The installer stops the required services, applies the update, and then restarts the services. However, if the required services cannot be stopped for any reason, or if the required files are being used, this update will require a restart. If this behavior occurs, a message appears that advises you to allow the restart.
Hotpatching Not applicable
Removal Information Use Add or Remove Programs item in Control Panel.
File Information For Microsoft Visual Studio 2010:\ See Microsoft Knowledge Base Article 2644980
For Microsoft Visual Studio 2010 Service Pack 1:\ See Microsoft Knowledge Base Article 2645410
Registry Key Verification For Microsoft Visual Studio 2010:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft Visual Studio Team System 2010 Team Suite - ENU\KB2644980\ "ThisVersionInstalled" = REG_SZ:"Y"
For Microsoft Visual Studio 2010 Service Pack 1:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft Visual Studio Team System 2010 Team Suite - ENU\SP1\KB2645410\ "ThisVersionInstalled" = REG_SZ:"Y"

Deployment Information

Installing the Update

You can install the update from the appropriate download link in the Affected and Non-Affected Software section. If you installed your application from a server location, the server administrator must instead update the server location with the administrative update and deploy that update to your system. For more information about Administrative Installation Points, refer to the Office Administrative Installation Point information in the Detection and Deployment Tools and Guidance subsection.

This security update requires that Windows Installer 2.0 or later be installed on the system. All supported versions of Windows include Windows Installer 2.0 or a later version.

To install the latest version of Windows Installer, visit the following Microsoft website:

For more information about the terminology that appears in this bulletin, such as hotfix, see Microsoft Knowledge Base Article 824684.

This security update supports the following setup switches.

Switch Description
/? or /h or /help Display usage dialog box.
Setup Mode ** **
/q[n b r f] Sets user interface level\ n - No UI\ b - Basic UI\ r - Reduced UI\ f - Full UI
/quiet Same as /q
/passive Same as /qb
Install Options ** **
/extract [directory] Extract the package to the specified directory.
/uninstall or /u Uninstall this update.
/addsource or /as Specifies the source path of the product msi. This option may be used when installing the update results in a prompt to insert the installation source media for the product. For example:\ <update executable> /addsource "C:\Product MSI\Visual Studio\enu\vs_setup.msi" /addsource "C:\Product MSI\Net\Netfx.msi"
Restart Options ** **
/norestart Do not restart after the installation is complete
/promptrestart Prompts the user for restart if necessary
/forcerestart Always restart the computer after installation
Logging Options ** **
/l[i w e a r u c m o p v x + ! *] <LogFile> i - Status messages\ w - Nonfatal warnings\ e - All error messages\ a - Start up of actions\ r - Action-specific records\ u - User requests\ c - Initial UI parameters\ m - Out-of-memory or fatal exit information\ o - Out-of-disk-space messages\ p - Terminal properties\ v - Verbose output\ x - Extra debugging information\ + - Append to existing log file\ ! - Flush each line to the log\ * - Log all information, except for v and x options
/log <LogFile> Equivalent of /l* <LogFile>
/sendreport Send installation data for this update to Microsoft as a Watson report. No personally identifiable information is sent.

Note You can combine these switches into one command. For backward compatibility, the security update also supports many of the setup switches that the earlier version of the Setup program uses. For more information about the supported installation switches, see Microsoft Knowledge Base Article 262841.

Removing the Update

To remove this security update, use the Add or Remove Programs item in Control Panel.

Verifying that the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

    To verify that a security update has been applied to an affected system, you may be able to use the Microsoft Baseline Security Analyzer (MBSA) tool. See the “Microsoft baseline Security Analyzer” heading under the section, Microsoft Detection and Deployment Tools and Guidance.

  • File Version Verification

    Note Because there are several versions and editions of Microsoft Windows, the following steps may be different on your system. If they are, see your product documentation to complete these steps.

    1. Click Start, and then click Search.
    2. In the Search Results pane, click All files and folders under Search Companion.
    3. In the All or part of the file name box, type a file name from the appropriate file information table, and then click Search.
    4. In the list of files, right-click a file name from the appropriate file information table, and then click Properties.
      Note Depending on the edition of the operating system, or the programs that are installed on your system, some of the files that are listed in the file information table may not be installed.
    5. On the Version tab, determine the version of the file that is installed on your system by comparing it to the version that is documented in the appropriate file information table.
      Note Attributes other than the file version may change during installation. Comparing other file attributes to the information in the file information table is not a supported method of verifying that the update has been applied. Also, in certain cases, files may be renamed during installation. If the file or version information is not present, use one of the other available methods to verify update installation.

Other Information

Acknowledgments

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

  • Laplinker for reporting the Visual Studio Add-In Vulnerability (CVE-2012-0008)

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 websites 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 (1-866-727-2338). For more information about available support options, see Microsoft Help and Support.
  • International customers can receive support from their local Microsoft subsidiaries. For more information about how to contact Microsoft for support issues, visit the International Support website.

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 (March 13, 2012): Bulletin published.

Built at 2014-04-18T13:49:36Z-07:00