Program file
vcruntime140_1.dll: genuine Visual C++ file or malware using its name?
vcruntime140_1.dll is a small 64-bit library of Microsoft's Visual C++ runtime that most newer 64-bit programs load. Copies in System32 and in installed programs are normal. In 2026 attackers posing as IT support planted a fake vcruntime140_1.dll next to a signed program, so a copy in ProgramData, Temp or AppData deserves a check.
Prefer to check it yourself? The manual checks follow.
A vcruntime140_1.dll signed by Microsoft, in C:\Windows\System32 or in the folder of a program you installed, is a normal part of the Visual C++ runtime. It is not a process and does nothing by itself: 64-bit programs call it when they handle C++ errors. It always sits with vcruntime140.dll, and it is never found in SysWOW64, because Microsoft makes no 32-bit build of it.
Programs look for it in their own folder first, which makes the name useful for DLL side-loading. In a case published in March 2026, a malicious vcruntime140_1.dll passed its three functions on to the real file, renamed vcruntime140_2.dll, so the signed program kept working while the attackers' code ran. A vcruntime140_2.dll beside it is a strong warning sign.
- Publisher
- Microsoft Corporation
- Description in the file
- Microsoft® C Runtime Library
- Installed by
- Microsoft Visual C++ 2015-2022 Redistributable, x64 package (version 14), and by 64-bit programs that carry a private copy
- Current official version
- 14.51.36247.0, read from Microsoft's x64 installer on 14 October 2026 (50,112 bytes)
- Builds
- x64 only. The ARM64 package carries the same x64 file for emulated programs; there is no x86 or native ARM64 build
- Genuine folders
- C:\Windows\System32 and the installation folders of 64-bit programs and Microsoft apps that bring their own. Never SysWOW64
- Signed by
- Microsoft Windows Software Compatibility Publisher (a Microsoft certificate)
- Exported functions
- 3, led by the C++ exception handler __CxxFrameHandler4
- Depends on
- vcruntime140.dll, three Universal C Runtime files (api-ms-win-crt) and KERNEL32.dll
- Builds Windows itself ships
- 88 distinct builds in 19 versions, indexed by Winbindex from Windows images and updates
- Runs as a process
- No. It is a library loaded into the 64-bit programs that need it
What vcruntime140_1.dll does
When a C++ program hits an error it is written to handle, the runtime has to unwind the program's state and find the code that deals with it. For 64-bit programs built with Visual Studio 2019 and later, that work is done by __CxxFrameHandler4, and vcruntime140_1.dll is the file that holds it. The file is tiny, with three exported functions, and it relies on vcruntime140.dll for everything else.
It arrives with the x64 Visual C++ Redistributable, which installs it into System32, and many programs also keep a private copy next to their .exe so they run on PCs without the runtime. That is why a search of a disk turns up several copies, and why Winbindex alone indexes 88 builds of it inside Windows images and Microsoft apps.
The same habit makes it a convenient disguise. A program loads whatever vcruntime140_1.dll sits in its own folder before the one in System32. A replacement placed there can forward the three real functions to a genuine copy under another name, so nothing visibly breaks, while its own startup code runs inside a trusted, signed process.
About .dll files. A .dll file is a library: it cannot run on its own and is loaded into a program's process. It does not appear in Task Manager under its own name; Process Explorer shows which process loaded it.
How to check a copy of vcruntime140_1.dll
A library has no window and does not show in Task Manager under its own name. The questions are where the copy sits, who signed it, what sits next to it and which program loads it.
- List every copy and its folder. Run this in PowerShell. Copies in System32 and in Program Files folders of programs you installed are expected. A copy in SysWOW64 is not a Microsoft file, since no 32-bit build exists. Copies in ProgramData, Temp, Downloads or AppData need the next checks.
Get-ChildItem -Path C:\ -Filter vcruntime140_1.dll -Recurse -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime - Check the signature. Status must be Valid and the certificate a Microsoft one: Microsoft Windows Software Compatibility Publisher on the redistributable's file, Microsoft Corporation on some bundled copies. NotSigned or any other name means the file is not Microsoft's.
Get-AuthenticodeSignature "C:\path\to\vcruntime140_1.dll" | Format-List Status, SignerCertificate - Look for a vcruntime140_2.dll beside it. Microsoft's runtime has no file of that name. In the documented 2026 attack the genuine library was renamed vcruntime140_2.dll and the fake forwarded its calls there. Finding the pair in one folder is a reason to scan at once.
Get-ChildItem -Path C:\ -Filter vcruntime140_2.dll -Recurse -ErrorAction SilentlyContinue | Select-Object FullName - Compare size and checksum. The current official file, version 14.51.36247.0, is 50,112 bytes. Older genuine builds differ in size. Use the file check on this page: a match with a Microsoft build clears the copy, whatever folder it is in.
- See which program loads it. In Process Explorer (Microsoft Sysinternals) open Find, Find Handle or DLL, and type vcruntime140_1.dll. The result shows the full path of the copy each process loaded. A signed updater or helper loading it from ProgramData or a user folder, instead of from its install folder, is a warning sign.
A valid Microsoft signature and a known checksum prove the file is genuine. They say nothing about the program next to it: a genuine copy can sit in a malware folder because the abused program needs it.

Check your vcruntime140_1.dll
Choose the vcruntime140_1.dll you are unsure about. Its SHA-256 and SHA-1 checksums are calculated in your browser and compared with the 7 versions of the file known from a public DLL catalogue.
The file stays on your computer. Nothing is uploaded: the checksum is computed locally.
Do you need vcruntime140_1.dll?
Yes, if you run 64-bit programs: most built in the last years stop starting without it. Keep the genuine copies and deal only with one that fails the checks above, together with whatever came with it.
- Leave the genuine copies alone. The signed copy in System32 belongs to the Visual C++ Redistributable, and copies in program folders belong to those programs. Deleting them breaks programs and removes nothing harmful.
- Do not uninstall the redistributable to get rid of it. Removing Microsoft Visual C++ 2015-2022 Redistributable (x64) from Settings, Apps, Installed apps takes the file out of System32, and many 64-bit programs stop working. A suspicious copy is never the System32 one installed by that package.
- Run a Microsoft Defender full scan. Open Windows Security, Virus and threat protection, Scan options, Full scan. Quarantine what it finds before deleting anything by hand.
- Run the offline scan. Code that runs inside a signed program can hide while Windows runs. The offline scan restarts the PC and scans before Windows starts. It takes about 15 minutes.
Start-MpWDOScan - Remove the whole folder, not only the DLL. If the copy sat in ProgramData, Temp or AppData with a signed .exe and other DLLs, delete that whole folder. Then check Task Scheduler, Settings, Apps, Startup and Installed apps for anything that starts from it, and for remote management tools you never installed.
- Treat a confirmed fake as a break-in. Side-loaded loaders give attackers remote control. Change passwords from a clean device, starting with e-mail and work accounts, sign out of other sessions, and tell your IT department if the PC is a work one.
Warning signs
| What you see | What it means |
|---|---|
| A vcruntime140_2.dll in the same folder | No such file exists in Microsoft's runtime. It is the pattern of the 2026 case: the real library renamed, a fake in its place. |
| vcruntime140_1.dll in ProgramData, Temp, Downloads or AppData, next to a signed .exe you never installed there | The setup of DLL side-loading. Check the signature and scan. |
| The signature check shows NotSigned, HashMismatch or a non-Microsoft signer | The file is not Microsoft's, or was changed after signing. Treat it as malicious unless a known program of yours explains it. |
| A vcruntime140_1.dll in C:\Windows\SysWOW64 | Microsoft makes no 32-bit build, so the redistributable never puts it there. Something else did. |
| A call from “IT support” after a flood of spam, then a remote session | The way the 2026 attack began. Disconnect, and check for new files in ProgramData and new remote management tools. |
| Signed Microsoft copies in System32 and in several program folders | Normal. 64-bit programs and Microsoft apps carry their own. |
How attackers have used vcruntime140_1.dll
One published case, with the report it comes from. The attackers replaced vcruntime140_1.dll in the folder of a signed program so that the program ran their loader.
| Malware | How it used the file | Source |
|---|---|---|
| Havoc command and control (2026) | Targets received a flood of spam e-mail, then a phone call from someone posing as IT support who gained remote access. A malicious vcruntime140_1.dll was placed with ADNotificationManager.exe, a signed Adobe program, in ProgramData\Adobe\ARM. It forwarded its three exports to the genuine file renamed vcruntime140_2.dll and ran a loader that decrypted a modified Havoc Demon. Remote management tools and scheduled tasks kept access. Five organizations were affected. | Huntress, March 2026 |
MITRE ATT&CK lists this as Hijack Execution Flow: DLL (T1574.001). On your own PC the name proves nothing either way: the folder, the signature and the files next to the copy decide.

Programs that have been made to load a fake vcruntime140_1.dll
Each program below is genuine and signed, and security researchers have documented that it can be made to load a planted vcruntime140_1.dll. Usually the attacker copies the program into another folder and puts a fake vcruntime140_1.dll next to it: Windows looks in the program's own folder first. A vcruntime140_1.dll next to one of these programs, outside the folders below, is the copy to check.
Where the genuine vcruntime140_1.dll belongs: C:\Windows\System32C:\Windows\SysWOW64
The genuine vcruntime140_1.dll is signed by: Microsoft Windows Software Compatibility Publisher, a signature in the file itself (Properties, Digital Signatures)
| Program | How |
|---|---|
C:\Program Files\Common Files\Microsoft Shared\OFFICE16\LICLUA.exeOffice Licensing Admin Access Provider · signed by Microsoft Windows Software Compatibility Publisher SHA-256 of the genuine program: aa07502bc2118083b057996bdc8a026c3b2f0757fac326fc7d13b05b80504246 | Side-loading |
Source: the HijackLibs entry for vcruntime140_1.dll, 1 public report.
Known versions of vcruntime140_1.dll
A public DLL catalogue lists 7 versions of vcruntime140_1.dll, from 14.22.27821.0 to 14.27.29111.0, by Microsoft Corporation. Its copies are uploaded by users and not verified, so a checksum match identifies the version, while the digital signature tells you whether the file is genuine. Even a genuine file clears only the file, not the folder: attackers ship genuine libraries next to a program they abuse, so where the copy sits still decides whether it is safe.
Every version with its checksums, and how to fix vcruntime140_1.dll errors on uGetFix
Questions people ask
Is vcruntime140_1.dll a virus?
No, the genuine vcruntime140_1.dll is part of Microsoft's Visual C++ runtime and is harmless. It is signed by Microsoft and lives in System32 and in the folders of 64-bit programs. In 2026 attackers used the name for a fake copy that a signed program loaded, so check the signature and the folder of any copy that sits somewhere unusual.
What is vcruntime140_2.dll? Is it part of Visual C++?
No. Microsoft's Visual C++ runtime has vcruntime140.dll, vcruntime140_1.dll and vcruntime140_threads.dll, but no vcruntime140_2.dll. The name appeared in a 2026 attack, where it was the genuine vcruntime140_1.dll renamed so that a fake could take its place and forward calls to it. A vcruntime140_2.dll on your PC is a reason to run a full and an offline Microsoft Defender scan.
Why do I have so many copies of vcruntime140_1.dll?
Because 64-bit programs and Microsoft apps often carry their own copy next to their .exe, so they run on PCs without the runtime installed. Winbindex indexes 88 distinct builds of the file inside Windows images and updates alone. Several signed copies in program folders are normal; a copy in a temporary or user folder with a program you did not install is not.
Why is there no vcruntime140_1.dll in SysWOW64?
Because the file exists only as a 64-bit library. 32-bit programs handle C++ exceptions through vcruntime140.dll and never load vcruntime140_1.dll, so Microsoft ships no 32-bit build, and SysWOW64 holds 32-bit files. A copy you do find in SysWOW64 was not put there by the redistributable: check its signature and scan.
My antivirus flagged a vcruntime140_1.dll. Should I trust it?
Look at the folder first. A detection on the signed copy in System32 or in a well-known program folder can be a false alarm, and the file check on this page settles it. A detection on a copy in ProgramData, Temp or AppData, especially one with a vcruntime140_2.dll or an unfamiliar signed .exe beside it, matches the 2026 attack pattern: quarantine it and run an offline scan.
Can a signed, genuine vcruntime140_1.dll still be part of an attack?
Yes, indirectly. Attackers who side-load a different DLL into a trusted program sometimes ship the genuine runtime files too, because the program needs them to start. The file itself is clean in that case, but the folder it sits in is not. The question is always what program sits next to it and how that folder got onto the PC.
Sources
- Microsoft Learn: Latest supported Visual C++ Redistributable downloads
- Winbindex, the Windows binaries index: vcruntime140_1.dll
- Huntress: Fake tech support delivers Havoc command and control (2 March 2026)
- MITRE ATT&CK T1574.001: Hijack Execution Flow: DLL
- Microsoft Learn: Get-AuthenticodeSignature
Version data read on Oct 14, 2026.
Questions and experiences
Ask about this page: members and our editors answer. Reading is open; writing needs a free account.
…