Share via


Security Implications of Customization

This topic discusses a potential security weakness in Visual C++ 2008 Feature Pack.

Potential Security Weakness

Visual C++ 2008 Feature Pack allows the user to customize the look of an application's user interface, such as the appearance of buttons and icons. Visual C++ 2008 Feature Pack also supports user-defined tools, which allow the user to execute shell commands. A security vulnerability arises because the application's customized settings are saved in the user's profile in the registry. Anyone who can access the registry can edit those settings and change the application's appearance or behavior. For example, an administrator on the computer could impersonate a user by causing the user's application to execute arbitrary programs (even from a network share).

Workarounds

We recommend three ways to close the vulnerabilities in the registry. You can encrypt the data that is stored there; or you can store the data in a secure file instead of in the registry. To do either of these, derive a class from CSettingsStore Class and override its methods to implement encryption or storage outside of the registry.

The third way to close the vulnerability is to disable customizations in your application.

See Also

Concepts

MFC Feature Pack for Visual C++ 2008