Block untrusted fonts in an enterprise
- Windows 10
Learn more about what features and functionality are supported in each Windows edition at Compare Windows 10 Editions.
To help protect your company from attacks that may originate from untrusted or attacker-controlled font files, we’ve created the Blocking Untrusted Fonts feature. Using this feature, you can turn on a global setting that stops your employees from loading untrusted fonts processed using the Graphics Device Interface (GDI) onto your network. Untrusted fonts are any font installed outside of the
%windir%/Fonts directory. Blocking untrusted fonts helps prevent both remote (web-based or email-based) and local EOP attacks that can happen during the font file-parsing process.
What does this mean for me?
Blocking untrusted fonts helps improve your network and employee protection against font-processing-related attacks. By default, this feature isn't turned on.
How does this feature work?
There are three ways to use this feature:
On. Helps stop any font processed using GDI from loading outside of the
%windir%/Fontsdirectory. It also turns on event logging.
Audit. Turns on event logging, but doesn’t block fonts from loading, regardless of location. The name of the apps that use untrusted fonts appear in your event log.
If you aren't quite ready to deploy this feature into your organization, you can run it in Audit mode to see if not loading untrusted fonts causes any usability or compatibility issues.
Exclude apps to load untrusted fonts. You can exclude specific apps, allowing them to load untrusted fonts, even while this feature is turned on. For instructions, see Fix apps having problems because of blocked fonts.
Potential reductions in functionality
After you turn on this feature, your employees might experience reduced functionality when:
Sending a print job to a remote printer server that uses this feature and where the spooler process hasn’t been excluded. In this situation, any fonts that aren’t already available in the server’s %windir%/Fonts folder won’t be used.
Printing using fonts provided by the installed printer’s graphics .dll file, outside of the %windir%/Fonts folder. For more information, see Introduction to Printer Graphics DLLs.
Using first or third-party apps that use memory-based fonts.
Using Internet Explorer to look at websites that use embedded fonts. In this situation, the feature blocks the embedded font, causing the website to use a default font. However, not all fonts have all of the characters, so the website might render differently.
Using desktop Office to look at documents with embedded fonts. In this situation, content shows up using a default font picked by Office.
Turn on and use the Blocking Untrusted Fonts feature
Use Group Policy or the registry to turn this feature on, off, or to use audit mode.
To turn on and use the Blocking Untrusted Fonts feature through Group Policy
Open the Group Policy editor (gpedit.msc) and go to
Computer Configuration\Administrative Templates\System\Mitigation Options\Untrusted Font Blocking.
Click Enabled to turn on the feature, and then click one of the following Mitigation Options:
Block untrusted fonts and log events. Turns on the feature, blocking untrusted fonts and logging installation attempts to the event log.
Do not block untrusted fonts. Turns on the feature, but doesn't block untrusted fonts nor does it log installation attempts to the event log.
Log events without blocking untrusted fonts. Turns on the feature, logging installation attempts to the event log, but not blocking untrusted fonts.
To turn on and use the Blocking Untrusted Fonts feature through the registry To turn this feature on, off, or to use audit mode:
Open the registry editor (regedit.exe) and go to
If the MitigationOptions key isn't there, right-click and add a new QWORD (64-bit) Value, renaming it to MitigationOptions.
Right click on the MitigationOptions key, and then click Modify.
The Edit QWORD (64-bit) Value box opens.
Make sure the Base option is Hexadecimal, and then update the Value data, making sure you keep your existing value, like in the important note below:
To turn this feature on. Type 1000000000000.
To turn this feature off. Type 2000000000000.
To audit with this feature. Type 3000000000000.
Your existing MitigationOptions values should be saved during your update. For example, if the current value is 1000, your updated value should be 1000000001000.
Restart your computer.
View the event log
After you turn on this feature, or start using Audit mode, you can look at your event logs for details.
To look at your event log
Open the event viewer (eventvwr.exe) and go to Application and Service Logs/Microsoft/Windows/Win32k/Operational.
Scroll down to EventID: 260 and review the relevant events.
Event Example 1 - MS Word
WINWORD.EXE attempted loading a font that is restricted by font-loading policy.
Because the FontType is Memory, there’s no associated FontPath.
Event Example 2 - Winlogon
Winlogon.exe attempted loading a font that is restricted by font-loading policy.
\??\C:\PROGRAM FILES (X86)\COMMON FILES\MICROSOFT SHARED\EQUATION\MTEXTRA.TTF
Because the FontType is File, there’s also an associated FontPath.
Event Example 3 - Internet Explorer running in Audit mode
Iexplore.exe attempted loading a font that is restricted by font-loading policy.
In Audit mode, the problem is recorded, but the font isn’t blocked.
Fix apps having problems because of blocked fonts
Your company may still need apps that are having problems because of blocked fonts, so we suggest that you first run this feature in Audit mode to determine which fonts are causing the problems.
After you figure out the problematic fonts, you can try to fix your apps in two ways: by directly installing the fonts into the %windir%/Fonts directory or by excluding the underlying processes and letting the fonts load. As the default solution, we highly recommend that you install the problematic font. Installing fonts is safer than excluding apps because excluded apps can load any font, trusted or untrusted.
To fix your apps by installing the problematic fonts (recommended)
- On each computer with the app installed, right-click on the font name and click Install.
The font should automatically install into your
%windir%/Fontsdirectory. If it doesn’t, you’ll need to manually copy the font files into the Fonts directory and run the installation from there.
To fix your apps by excluding processes
On each computer with the app installed, open regedit.exe and go to
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<process_image_name>.
For example, if you want to exclude Microsoft Word processes, you’d use
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Winword.exe.
Add other processes that need to be excluded here, and then turn on the Blocking untrusted fonts feature, using the steps in Turn on and use the Blocking Untrusted Fonts feature, earlier in this article.