QID 378332

Date Published: 2023-04-04

QID 378332: WinVerifyTrust Signature Validation Vulnerability

Microsoft stated that, they have re-published this to inform customers that EnableCertPaddingCheck is available in all currently supported versions of Windows 10 and Windows 11. This behavior remains available as an opt-in feature via registry key setting, and is available on supported editions of Windows released since December 10, 2013. This includes all currently supported versions of Windows 10 and Windows 11. Microsoft recommends that executable authors consider conforming all signed binaries to the new verification standard by ensuring that they contain no extraneous information in the WIN_CERTIFICATE structure. Microsoft also recommends that customers appropriately test this change to evaluate how it will behave in their environments. Microsoft recommends that customers test how this change to Authenticode signature verification behaves in their environment before fully implementing it. To enable the Authenticode signature verification improvements, modify the registry to add the EnableCertPaddingCheck value as detailed below. - HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config "EnableCertPaddingCheck"="1" - HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config "EnableCertPaddingCheck"="1"

A remote code execution vulnerability exists in the way that the WinVerifyTrust function handles Windows Authenticode signature verification for portable executable (PE) files. An anonymous attacker could exploit the vulnerability by modifying an existing signed executable file to leverage unverified portions of the file in such a way as to add malicious code to the file without invalidating the signature.

  • CVSS V3 rated as High - 7.4 severity.
  • CVSS V2 rated as High - 7.6 severity.
  • Solution
    Customers are advised to refer to WinVerifyTrust Signature Validation for further details pertaining to this.

    Opting into this stricter verification behavior causes the WinVerifyTrust function to perform strict Windows Authenticode signature verification for PE files. After opting-in, PE files will be considered "unsigned" if Windows identifies content in them that does not conform to the Authenticode specification. This may impact some installers. If you are using an installer that is impacted, Microsoft recommends using an installer that only extracts content from validated portions of the signed file.

    CVEs related to QID 378332

    Software Advisories
    Advisory ID Software Component Link
    CVE-2013-3900 URL Logo msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900