Microsoft Windows fails to properly handle the NoDriveTypeAutoRun registry value

2008-03-20T00:00:00
ID VU:889747
Type cert
Reporter CERT
Modified 2009-04-14T17:48:00

Description

Overview

Microsoft Windows fails to properly handle the NoDriveTypeAutoRun registry value, which may prevent Windows from effectively disabling AutoRun and AutoPlay features.

Description

AutoRun, which was introduced with Windows 95, is a feature that causes Windows to automatically take an action when a removable media device is inserted. For example, when an AutoRun-enabled CD-ROM is inserted, Windows may automatically execute a program on that disc. This also holds true for U3-enabled USB devices, which emulate a CD-ROM device as well as provide USB mass storage capabilities. These devices can automatically execute code when they are inserted into a Windows system. The AutoRun action can also take place when the user clicks the icon for an AutoRun-enabled device. AutoRun is enabled by default in Windows. AutoPlay, which was introduced with Windows XP, extends AutoRun capabilities to also allow a menu to be presented to the user, which lists actions that the user may take. AutoRun and AutoPlay can be disabled by setting the CDRom Autorun registry value to 0 and also setting the NoDriveTypeAutoRun registry value to 0xFF. The NoDriveTypeAutoRun registry value is directly tied to the Group Policy setting for "Turn off Autoplay."

Microsoft Windows fails to properly handle the NoDriveTypeAutoRun registry value. According to Microsoft's documentation, setting NoDriveTypeAutoRun to 0xFF should disable AutoPlay for all types of drives. However, when this registry value is present, Vista enables some AutoPlay features that may not have been enabled prior to setting that registry value. For example, if NoDriveTypeAutoRun is set to 0xFF, Vista may execute a program specified in the Autorun.inf file when the device icon is clicked. Other values for NoDriveTypeAutoRun may also enable certain AutoPlay features in Vista. For Windows versions older than Vista, the NoDriveTypeAutoRun registry value is simply ignored with respect to certain AutoRun features. In other words, setting the value will not put the system at additional risk, but will not disable AutoRun completely.


Impact

Microsoft Windows may have some AutoPlay enabled, even though the Group Policy Editor and associated registry values indicate otherwise. This may allow an attacker to cause a user to inadvertently execute arbitrary code on a removable device, such as a USB drive.

Certain versions of malicious code called Conficker or Downadup use the AutoRun feature to propagate.


Solution

Apply an update
This issue is addressed for Windows Vista and Server 2008 systems in Microsoft Security Bulletin MS08-038. This update corrects the behavior of NoDriveTypeAutoRun on those platforms. Windows 2000, XP, and Server 2003 users should install the update in Microsoft Support Document KB967715. Please also consider the following workarounds.


Disable AutoRun
With limited testing, it appears to be possible to disable AutoRun and AutoPlay on Microsoft Windows systems by saving the following text as a .REG file and importing it into the registry:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
This registry value appears to prevent windows from parsing and taking actions based on the Autorun.inf file, which both AutoRun and AutoPlay utilize. Note that Windows can cache AutoRun capabilities of devices via the MountPoints2 registry key, though. So even after disabling AutoRun as described above, Windows may still automatically execute files on devices that Windows has listed in this cache. For this reason, we also recommend removing this cache by deleting the MountPoints2 registry key for each user:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
Below are the original workaround settings that we had published. However, disabling the MCN message may prevent Windows from properly detecting when a CD-ROM is changed. Therefore, the above workaround may be more appropriate.

* Set the [`Autorun`](<http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/30300.mspx>) registry value for CDs to `0`. This will prevent Windows from sending a Media Change Notification (MCN) message when a CD-ROM is inserted, which will in turn prevent AutoPlay with these devices.
* Disable AutoPlay for all media and devices, by clearing the **Use AutoPlay for all media and devices** setting in the Windows Control Panel. Details for how to do this are available in the [Windows Help and How-to](<http://windowshelp.microsoft.com/Windows/en-US/Help/40f23376-1351-49d5-8d48-5c05d35f2ac81033.mspx>).
* Do not set the [`NoDriveTypeAutoRun`](<http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/91525.mspx>) registry values in `HKLM` or `HKCU`. If they are present, we recommend removing the values. This can be also be accomplished by using the Group Policy Editor to set the "Turn off Autoplay" option to "Not Configured."
* Set the "Default behavior for Autorun" to Enabled - "Do not execute any autorun commands" in the Group Policy Editor.

The relevant settings in the Group Policy editor can be reached by running gpedit.msc and going to Local Computer Policy -> Computer Configuration -> Administrative Templates -> Windows Components -> AutoPlay Policies.

Vendor Information

889747

Filter by status: All Affected Not Affected Unknown

Filter by content: __ Additional information available

__ Sort by: Status Alphabetical

Expand all

Javascript is disabled. Click here to view vendors.

Microsoft Corporation Affected

Notified: February 19, 2008 Updated: February 27, 2008

Status

Affected

Vendor Statement

We have not received a statement from the vendor.

Vendor Information

We are not aware of further vendor information regarding this vulnerability.

CVSS Metrics

Group | Score | Vector
---|---|---
Base | |
Temporal | |
Environmental | |

References

  • <http://www.microsoft.com/technet/security/bulletin/ms08-038.mspx>
  • <http://support.microsoft.com/kb/967715>
  • <http://support.microsoft.com/kb/953252>
  • <http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/91525.mspx>
  • <http://support.microsoft.com/kb/155217>
  • <http://support.microsoft.com/kb/895108>
  • <http://windowshelp.microsoft.com/Windows/en-US/Help/40f23376-1351-49d5-8d48-5c05d35f2ac81033.mspx>
  • <http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/30300.mspx>
  • <http://technet.microsoft.com/en-us/magazine/cc137730.aspx>
  • <http://nick.brown.free.fr/blog/2007/10/memory-stick-worms>
  • <http://blogs.technet.com/steriley/archive/2007/10/30/more-on-autorun.aspx>

Acknowledgements

This vulnerability was reported by Will Dormann of the CERT/CC. Some details were provided by Jeff Gennari of the CERT/CC. Information about how to disable AutoRun was provided by Nick Brown and Emin Atac.

This document was written by Will Dormann.

Other Information

CVE IDs: | CVE-2008-0951
---|---
Severity Metric: | 0.19
Date Public: | 2008-03-20
Date First Published: | 2008-03-20
Date Last Updated: | 2009-04-14 17:48 UTC
Document Revision: | 61