Handler mappings can be configured to give permissions to Read, Write, Script, or Execute depending on what the use is for - reading static content, uploading files, executing scripts, etc. It is recommended to grant a handler either Execute/Script or Write permissions, but not both. Rationale: By allowing both Execute/Script and Write permissions, a handler can run malicious code on the target server. Ensuring these two permissions are never together will help lower the risk of malicious code being executed on the server. Impact: N/A
Solution
The accessPolicy attribute in the <handlers> section of either the ApplicationHost.config (server-wide) or web.config (site or application) must not have Write present when Script or Execute are present. To resolve this issue for a Web server, the attribute in the <handlers> section of the ApplicationHost.config file for the server must manually be edited. To edit the ApplicationHost.config file by using Notepad, perform the following steps: Open Notepad as Administrator Open the ApplicationHost.config file in %systemroot%\system32\inetsrv\config Edit the <handlers> section accessPolicy attribute so that Write is not present when Script or Execute are present Enter the following command in AppCmd.exe to configure: %systemroot%\system32\inetsrv\appcmd set config /section:handlers /accessPolicy:Read,Script OR Enter the following command in PowerShell to configure: Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter 'system.webServer/handlers' -name 'accessPolicy' -value 'Read,Script' Note: This configuration change cannot be made by using IIS Manager. Default Value: The default handlers accessPolicy is Read, Script.