Program file

libcef.dll: the Chromium Embedded Framework library, or a planted loader?

libcef.dll is the main library of the Chromium Embedded Framework (CEF), an open-source browser engine based on Google Chromium that many programs ship in their own folders to show web pages inside their windows. A copy in a program you installed is normal. Attackers also plant a fake libcef.dll next to a signed program that loads it, so a copy in any other place needs checking.

Prefer to check it yourself? The manual checks follow.

Program library: safe inside a program you installed

A libcef.dll in the install folder of a program you chose, next to that program's .exe, .pak files and a locales folder, describing itself as Chromium Embedded Framework (CEF) Dynamic Link Library and tens of megabytes large, is the genuine CEF library. It is not a process: the program loads it to draw its web-based windows. Several programs can each have their own copy.

The name is also used for planted files. Researchers documented a fake libcef.dll of about 1.5 MB that a signed NVIDIA Share.exe loaded from the attacker's folder. A small or unsigned libcef.dll in Temp, AppData, Downloads or a folder you never installed anything to is the case to treat as malware.

Project
Chromium Embedded Framework (CEF), open source, based on Google Chromium, BSD license
Description in the file
Chromium Embedded Framework (CEF) Dynamic Link Library
Company in the file
Often empty or Unknown; some copies carry the name of the program's maker
Shipped by
Each program that uses CEF, in its own folder; HijackLibs names NVIDIA GeForce Experience as one
Genuine folder
The program's install folder, next to its .exe, icudtl.dat, the .pak files and a locales folder, or a subfolder of it. Never in C:\Windows
Size
Large: about 11 MB to 69 MB across the 15 copies collected in a public DLL catalogue
Runs as a process
No. It is a library loaded into the program that uses it
Abused for
DLL sideloading: a fake libcef.dll placed next to a signed program that loads it (DarkGate, 2024)

What libcef.dll does

CEF is an open-source project based on Google Chromium that lets other programs embed a full web browser: a browser control inside a native program, a program whose interface is written in web technologies, or web pages drawn off-screen. libcef.dll is its main library. The CEF documentation's default Windows layout places it next to the program's executable together with icudtl.dat, chrome_100_percent.pak, chrome_200_percent.pak, resources.pak, snapshot_blob.bin, v8_context_snapshot.bin and a locales folder. A program that uses CEF has to show CEF's BSD license, usually on an About or Credits page.

Because a program loads libcef.dll from its own folder by name, the file is a target for DLL sideloading. An attacker copies a legitimate, signed program that uses CEF into a folder of their choice and puts a malicious libcef.dll beside it. Windows starts the signed program, and the program loads the attacker's file. HijackLibs lists three programs known to load libcef.dll this way: NVIDIA Share.exe from NVIDIA GeForce Experience, QnWallpaper.exe and QnwPlayer.exe.

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 a signed NVIDIA Share.exe loads a planted libcef.dll that decrypts the next stage of DarkGate malware
DLL sideloading: the signed program is real, the libcef.dll next to it is the attacker's.

How to check a copy of libcef.dll

Five questions decide it: where the file is, what sits next to it, how large it is, what it says about itself and who signed it. A library never shows in Task Manager under its own name, so use these checks.

  1. List every copy and where it sits. Copies under Program Files, Program Files (x86) or a program's folder in AppData\Local are normal, one per program that uses CEF. Look closer at copies in Downloads, Desktop, Temp, C:\Users\Public, ProgramData or a folder with a random name.
    Get-ChildItem -Path C:\ -Filter libcef.dll -Recurse -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime
  2. Look at what sits next to it. A genuine CEF folder holds the program's .exe and the CEF resource files: icudtl.dat, resources.pak and other .pak files, the .bin snapshot files and a locales folder. A libcef.dll beside a lone signed .exe and an unknown data file, such as an extra sqlite3.dll, is the pattern of a planted loader.
  3. Compare the size. The CEF library is large: the copies in the public catalogue range from about 11 MB to 69 MB. The fake libcef.dll in the documented DarkGate campaign was 1,514 KB. A file of a megabyte or two under this name is not a CEF build.
  4. Read the version resource. A CEF build describes itself as Chromium Embedded Framework (CEF) Dynamic Link Library. Many genuine copies leave the company field empty, so this check alone does not clear or condemn a file: fake files can copy the text fields too.
    (Get-Item "C:\path\to\libcef.dll").VersionInfo | Format-List CompanyName, FileDescription, FileVersion
  5. Check the digital signature. Programs from established makers usually sign the libcef.dll they ship. Status Valid with the program maker's name is a good sign. NotSigned or HashMismatch on a copy outside a program you installed means you should treat it as hostile. A signed .exe next to it proves nothing about the DLL.
    Get-AuthenticodeSignature "C:\path\to\libcef.dll" | Format-List Status, SignerCertificate

A valid signature clears that one file. It says nothing about the other files in the folder: in a sideloading attack the malicious code is often in a second, encrypted file that the fake libcef.dll only decrypts and starts.

Four checks that tell a genuine libcef.dll from a planted one: folder, neighbouring files, size and signature
Size and signature decide; a genuine CEF library is tens of megabytes and sits among its resource files.

Check your libcef.dll

Choose the libcef.dll you are unsure about. Its SHA-256 and SHA-1 checksums are calculated in your browser and compared with the 15 versions of the file known from a public DLL catalogue.

or drop the file here

The file stays on your computer. Nothing is uploaded: the checksum is computed locally.

Do you need libcef.dll?

Keep every copy inside the programs you installed: without it those programs cannot open their web-based windows or do not start at all. A copy that failed the checks above belongs to no program you use, and the safe way out is to remove the whole folder it came with and scan the PC.

  1. Leave the copies of installed programs alone. A copy in a program's install folder belongs to that program. If it is damaged or flagged, the program's repair or reinstall restores its own copy; deleting it only breaks the program.
  2. Uninstall a program you do not recognise. Open Settings, Apps, Installed apps, look for a program you did not install around the date the file appeared, and uninstall it. If the libcef.dll sits in a folder no installed program uses, end any process started from that folder in Task Manager and delete the whole folder, not only the DLL.
  3. Run a Microsoft Defender full scan. Open Windows Security, Virus and threat protection, Scan options, Full scan. Quarantine what it finds. Look at Protection history afterwards for anything found in Downloads, Temp, AppData or ProgramData.
  4. Run the offline scan. Loaders started through sideloading often install further malware that hides while Windows runs. The offline scan restarts the PC and scans before Windows starts. It takes about 15 minutes.
    Start-MpWDOScan
  5. Check what starts with Windows. Open Task Manager, Startup apps, and Task Scheduler. Disable and remove entries that start a program from AppData, ProgramData, Temp or C:\Users\Public that you do not recognise, after the scan.
  6. Change passwords if the loader ran. DarkGate and similar loaders give attackers remote access and can steal saved browser passwords and session cookies. Change your important passwords from a clean device and sign out of other sessions.

Warning signs

What you seeWhat it means
libcef.dll of about 1 MB to 2 MBFar too small for the CEF library. A planted loader under the name.
A signed NVIDIA Share.exe and libcef.dll outside the NVIDIA GeForce Experience folderThe pattern of the documented DarkGate sideloading. Remove the folder and scan.
libcef.dll in Temp, AppData\Roaming, Downloads or C:\Users\Public with a lone .exeNo installed program keeps CEF there. Find out where it came from and scan.
No .pak files, icudtl.dat or locales folder next to itA genuine CEF program needs these files. Their absence points to a fake.
The signature check shows NotSigned or HashMismatch outside a program you installedThe file is not an unmodified build from a program maker.
It arrived with an installer that posed as a driver or a program updateThe lure used in the DarkGate campaign, which disguised its installer as an NVIDIA one.
Several copies, each in the folder of an installed programNormal. Every program that uses CEF ships its own copy.

Documented abuse of libcef.dll

Security researchers have documented a malicious libcef.dll being loaded through a genuine, signed program that normally uses the CEF library.

MalwareHow it used the fileSource
DarkGateOperators exploited a Windows SmartScreen bypass (CVE-2024-21412) and wrapped DarkGate in an .MSI installer that posed as an NVIDIA installer. It ran the digitally signed NVIDIA Share.exe, which loaded a trojanized libcef.dll of 1,514 KB. The malicious code sat in the GetHandleVerifier function and decrypted the next stage, an XOR-encrypted loader named sqlite3.dll.Trend Micro research, 13 March 2024

The signed .exe proves nothing about the libcef.dll next to it. Judge the DLL by its own size, signature and folder.

Programs that have been made to load a fake libcef.dll

Each program below is genuine and signed, and security researchers have documented that it can be made to load a planted libcef.dll. Usually the attacker copies the program into another folder and puts a fake libcef.dll next to it: Windows looks in the program's own folder first. A libcef.dll next to one of these programs, outside the folders below, is the copy to check.

Where the genuine libcef.dll belongs: C:\Program Files\NVIDIA Corporation\NVIDIA GeForce Experience

ProgramHow
C:\Program Files\NVIDIA Corporation\NVIDIA GeForce Experience\NVIDA Share.exe
SHA-256 of the genuine program: f1e2f82d5f21fb8169131fedee6704696451f9e28a8705fca5c0dd6dad151d64
Side-loading
QnWallpaper.exe
SHA-256 of the genuine program: 1c9381c675e083c80603e7cf5754275a50228b048e53b0b5c0ff5a2d8708dfdc
Side-loading
QnwPlayer.exe
SHA-256 of the genuine program: d9ed8c718d652d6996525eda7aba7ffaee46bac1d824614952cebf67f4ed9f81
Side-loading

Source: the HijackLibs entry for libcef.dll, 6 public reports.

Known versions of libcef.dll

A public DLL catalogue lists 15 versions of libcef.dll, from 1.0.0.1 to 3.3071.1639.0, by Unknown. 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 libcef.dll errors on uGetFix

Questions people ask

Is libcef.dll a virus?

No, the genuine libcef.dll is the open-source Chromium Embedded Framework, shipped by ordinary programs to show web pages inside their windows. The name appears in security reports because attackers plant fake files called libcef.dll next to signed programs that load it. A large, signed copy in a program you installed is genuine. A small or unsigned copy in Temp, AppData or Downloads needs the checks on this page.

Why is libcef.dll flagged in a program I installed?

Some detections hit genuine files of a name that attackers use. Check the folder, the size and the signature: a copy of tens of megabytes in the program's install folder, signed by the program's maker, is the real library and the detection is likely false. Report it to the maker of your security program, and let the program's own repair restore the file.

What is DLL sideloading with libcef.dll?

A program that uses CEF loads libcef.dll from its own folder by name. An attacker copies that signed program into another folder and puts a malicious libcef.dll beside it. When the program starts, it loads the attacker's code with a trusted name and a valid signature on the .exe. Researchers documented this with NVIDIA Share.exe and DarkGate malware in March 2024.

How can I tell a genuine libcef.dll from a planted one?

Check four things. The folder: the install folder of a program you chose. The neighbours: .pak files, icudtl.dat and a locales folder. The size: the CEF library is tens of megabytes, a planted loader is often a megabyte or two. And the signature: Get-AuthenticodeSignature on the DLL itself, because a signed .exe beside it proves nothing.

Can I delete libcef.dll?

You can, but the program it belongs to then cannot open its web-based windows or does not start at all. Deleting it from an installed program gains nothing. If the copy failed the checks and belongs to no program you use, delete its whole folder, then run a Microsoft Defender full scan and the offline scan.

Is libcef.dll part of Windows or Google Chrome?

Neither. Windows does not include it, and Google Chrome does not use a libcef.dll. CEF is a separate open-source project built on Chromium for other programs to embed. Each program that uses it brings its own copy, so a libcef.dll in C:\Windows or System32 does not belong there.

Why are there several libcef.dll files on my PC?

Every program that uses CEF ships its own copy, usually of a different version and size, in its own folder. Two or three programs with web-based windows can mean two or three copies. That is by design. What matters is that each copy sits in a program you installed and passes the size and signature checks.

Sources

Version data read on Oct 17, 2026.

Questions and experiences

Ask about this page: members and our editors answer. Reading is open; writing needs a free account.

0 comments

…

5,584 members already hereReading, writing, commenting and voting. 0 verified · 309 joined this year