PDBCopy tool

Applies to: Microsoft Visual Studio 2010 Service Pack 1Microsoft Visual Studio 2012 Update 4Visual Studio 2013 Update 5 More

Summary


This article describes a hotfix package for the PDBCopy tool (pdbcopy.exe). The hotfix contains a tool that scans and updates PDB files for the PDB security issue that is described in CVE-2018-1037. For more information, see the "Issues that are fixed in this hotfix" section.

Notes

  • This vulnerability mainly affects PDBs that are created by using Visual Studio 2015 and Visual Studio 2017.
  • This vulnerability affects only PDBs that have been updated after they were created.
  • This tool is needed only by developers who share PDB files publicly.

Issues that are fixed in this hotfix


This hotfix addresses the PDB security issue that is described in CVE-2018-1037, in which a PDB file may contain uninitialized heap content when it is modified by a process that updates an existing PDB file, such as Mspdbsrv.exe.

Use PDBCopy tool to scan and update existing PDB files

The PDBCopy tool that is contained in this hotfix scans PDB files for the security issue that is described in CVE-2018-1037. It can also report the affected memory block and update any PDB file to remove improperly disclosed memory within the PDB file.

This tool is provided as an alternative to regenerating PDB files that have a hotfixed version of Visual Studio. It does not change the internal timestamps in the PDB files. This tool works for PDBs that are generated by using any version of Visual Studio.

Usage: PDBCOPY.exe <target.pdb> <backup.pdb> -CVE-2018-1037 {[verbose|autofix]}

Arguments

  • target.pdb: The file name of the PDB file to update.
  • backup.pdb: The name to use for a backup copy of the PDB file.
  • -CVE-2018-1037: This switch causes the tool to report on whether the PDB file is affected by the issue, and optional arguments can report the affected memory block and update the existing PDB file in place to remove the disclosed memory. This switch is exclusive from other PDBCopy switches and takes two optional arguments:
    • verbose: Dumps the memory block from the original PDB file that is removed by the switch.
    • autofix: Updates and zero-fills the affected memory block in the PDB file.

Remarks

PDBCopy.exe updates target.pdb in-place. The tool requires a valid file name for a backup PDB. The backup PDB is created only when the target.pdb file requires updating. Please thoroughly test the fixed PDB before you delete the backup PDB.

Examples

  • pdbcopy.exe target.pdb backup.pdb -CVE-2018-1037

    Reports whether target.pdb is affected by CVE 2018-1037.

  • pdbcopy.exe target.pdb backup.pdb -CVE-2018-1037 verbose

    Reports whether target.pdb is affected by CVE 2018-1037 and, if so, displays the uninitialized memory that is written in target.pdb.

  • pdbcopy.exe target.pdb backup.pdb -CVE-2018-1037 autofix

    Reports whether target.pdb is affected by CVE 2018-1037 and, if so, zero fills the uninitialized memory that is written in target.pdb.

  • pdbcopy.exe target.pdb backup.pdb -CVE-2018-1037 verbose autofix

    Reports whether target.pdb is affected by CVE 2018-1037 and, if so, displays the uninitialized memory that is written in target.pdb and zero fills the uninitialized memory that is written in target.pdb.

  • pdbcopy.exe target.pdb backup.pdb -CVE-2018-1037 autofix verbose

    Reports whether target.pdb is affected by CVE 2018-1037 and, if so, displays the uninitialized memory that is written in target.pdb and zero fills the uninitialized memory that is written in target.pdb.

How to obtain this hotfix


The following files are available for download.

Architecture Link
x64 PDBCopy.exe
x86 PDBCopy.exe


For more information about how to download Microsoft support files, go to the following article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

More information


Prerequisites

This hotfix will install and run on the following operating systems:

  • Windows 10 Version 1507 and later versions: Home, Professional, Education, and Enterprise (LTSB and S are not supported)
  • Windows Server 2016: Standard and Datacenter
  • Windows 8.1 (with Update KB 2919355): Core, Professional, and Enterprise
  • Windows Server 2012 R2 (with Update KB 2919355): Essentials, Standard, and Datacenter
  • Windows 7 SP1 (with latest Windows Updates): Home Premium, Professional, Enterprise, and Ultimate

Restart requirement

This hotfix does not require a system restart.

Hotfix replacement information

This hotfix does not replace other hotfixes.

File Information