How to enable Structured Exception Handling Overwrite Protection (SEHOP) in Windows operating systems

Support for Windows Vista Service Pack 1 (SP1) ends on July 12, 2011. To continue receiving security updates for Windows, make sure you're running Windows Vista with Service Pack 2 (SP2). For more information, refer to this Microsoft web page: Support is ending for some versions of Windows.

Introduction

Windows Vista Service Pack 1, Windows 7, Windows Server 2008 and Windows Server 2008 R2 now include support for Structured Exception Handling Overwrite Protection (SEHOP). This feature is designed to block exploits that use the Structured Exception Handler (SEH) overwrite technique. This protection mechanism is provided at run-time. Therefore, it helps protect applications regardless of whether they have been compiled with the latest improvements, such as the /SAFESEH option. We recommend that Windows users who are running any of the above operating systems enable this feature to improve the security profile of their systems.

This article helps you enable this feature.

To have us enable this feature for you, go to the "Enable it for me" section. If you would rather enable this feature yourself, go to the "Let me enable it myself" section.

Note If you are running Windows 7 or Windows Server 2008 R2, go to the " Let me enable it myself" section because the automatic wizard for Windows 7 and for Windows Server 2008 R2 is not available yet.

Enable it for me

To enable this feature automatically, click the Fix this problem link. Then, click Run in the File Download dialog box, and follow the steps in this wizard.





Notes
  • This wizard only applies to Windows Vista Service Pack 1 and Windows Server 2008.
  • This wizard may be in English only; however, the automatic fix also works for other language versions of Windows.
  • If you are not on the computer that has the problem, you can save the automatic fix to a flash drive or to a CD, and then you can run it on the computer that has the problem.
We would appreciate your feedback. To provide feedback or to report any issues with this solution, please leave a comment on the
"Fix it for me" blog, or send us an
e-mail message.

Let me enable it myself

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
By default, SEHOP is enabled in Windows Server 2008 R2 and in Windows Server 2008. By default, SEHOP is disabled in Windows 7 and in Windows Vista. To enable SEHOP manually, follow these steps:
  1. Click Start, click Run, type regedit, and then press ENTER.
  2. Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\DisableExceptionChainValidation
    Note If you cannot find the DisableExceptionChainValidation registry entry under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ subkey, follow these steps to create it:
    1. Right-click kernel, point to
      New, and then click DWORD Value.
    2. Type
      DisableExceptionChainValidation, and then press ENTER.
  3. Double-click
    DisableExceptionChainValidation.
  4. Change the value of the DisableExceptionChainValidation registry entry to 0 to enable it, and then click OK.

    Note A value of 1 disables the registry entry. A value of 0 enables it.
  5. Exit Registry Editor.

Known Issues

After you enable SEHOP, existing versions of Cygwin, Skype, and Armadillo-protected applications may not work correctly.

Note To resolve this issue, contact the software vendor for an update.

References

Preventing the exploitation of SEH overwrites

For more information about a technique that you can use to help prevent the exploitation of SEH overwrites, visit the following Uninformed Web site: The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.

Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
Properties

Article ID: 956607 - Last Review: Jun 10, 2011 - Revision: 1

Feedback