Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
HighCISA KEVExploited in the wildPublic exploit

Google Chrome Mojo sandbox escape on Windows

IdentifiersCVE-2025-2783CWE-20

CVE-2025-2783 is a high-severity sandbox escape vulnerability in Google Chrome on Windows, affecting versions prior to 134.0.6998.177. The flaw is described by Google as an incorrect handle provided in Mojo, Chromium’s IPC framework. Supporting reporting indicates the issue stems from incorrect handling/validation of Windows pseudo-handles during IPC, specifically that Chromium validated the process pseudo-handle value (-1) but failed to properly reject thread pseudo-handles such as (-2) in certain Mojo/ipcz message flows. In observed exploitation, an attacker could use a malicious file or crafted content delivered through a phishing-driven browser exploit chain to obtain a usable browser-process thread handle and then manipulate that thread to execute shellcode outside the renderer sandbox. The vulnerability was exploited in the wild as a zero-day in espionage campaigns including Operation ForumTroll.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows a remote attacker to escape Chrome’s sandbox on Windows. In reported in-the-wild chains, this enabled execution of code in the more-privileged browser process outside the sandbox boundary. As a result, the flaw can contribute to compromise of confidentiality, integrity, and availability, and can serve as a critical post-renderer step in a full browser exploit chain. Reporting indicates it was used together with an additional remote code execution exploit, and patching this flaw was sufficient to break the overall chain.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, reduce exposure by limiting use of Chrome/Chromium on Windows for untrusted content, restricting delivery/opening of untrusted files, and applying least-privilege controls to browser execution contexts. In enterprise environments, use application control, browser isolation where available, and monitoring for post-exploitation behaviors associated with this activity, such as suspicious COM hijacking or anomalous registry modifications to InProcServer32 keys. These measures are only temporary risk reductions and do not replace patching.

Remediation

Patch, then assume compromise.

Update Google Chrome on Windows to version 134.0.6998.177 or later. For Chromium-derived software embedding the affected code, apply the corresponding upstream Chromium fix; for example, affected CefSharp packages should be upgraded to 134.3.90 or later according to the referenced advisory. Ensure browsers are fully restarted so the patched version is actually loaded, and verify enterprise fleet rollout rather than relying solely on background download of updates.
PUBLIC EXPLOITS

Exploits

3 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (3 hidden).

VALID 3 / 6 TOTALView more in app
CVE-2025-2783MaturityPoCVerified exploit

Repository contains a real Windows Chromium exploit chain for CVE-2025-2783 rather than a detector. Structure is split into two main parts: demo/exp.html is the browser-side trigger and staging logic, while src/main.cc is the native payload DLL implementing the sandbox escape and post-escape execution flow. The remaining src/minhook/* files are a bundled third-party MinHook library used for runtime API/function detouring. The exploit purpose is to turn renderer code execution into sandbox escape and arbitrary code execution in a more privileged context. According to the README and visible code, the chain works by hooking Chromium/V8 internals, intercepting console.debug to capture an ArrayBuffer containing second-stage shellcode, locating/versioning chrome.dll internals, and abusing the Ipcz relay path to obtain a duplicated high-privilege thread handle. It then suspends and hijacks that thread, modifies execution context, and arranges calls to Windows APIs to allocate memory and execute the supplied shellcode. src/main.cc is the core exploit implementation. It defines an ExploitManager singleton for storing duplicated handles, captured shellcode, chrome.dll section metadata, and version-specific offsets. It includes hardcoded g_node offsets for several Chrome 128 builds, indicating version-sensitive exploitation. The code uses MinHook to dynamically locate and hook internal Chromium functions, including a V8 console debug path used as a covert bridge from JavaScript to native code. DllMain spawns a worker thread (payloadInit), showing the DLL is intended to be loaded into a Chromium process and initialize itself automatically. The demo HTML is not just a benign page; it contains substantial JavaScript exploit logic. From the visible portion, it prepares executable memory, writes staged machine code, fetches windows/shellcode.bin, derives the shellcode address, and triggers console.debug with crafted arguments so the native hook can capture and later execute the shellcode. README also states the demo relies on a V8 type confusion bug to achieve the initial renderer compromise, making this a full-chain browser exploit demonstration. No external C2 or remote infrastructure is embedded beyond local demo hosting and relative payload fetches. The most fingerprintable observables are the local URL http://127.0.0.1:8000/exp.html, the relative artifact paths payload.bin and windows/shellcode.bin/shellcode.bin, the target module chrome.dll, and the spoofed Ipcz relay message ID 0x69. Overall, this is an operational PoC/full-chain exploit repository with a hardcoded shellcode execution path, not a generalized framework module.

ElianGonzi00Disclosed Jun 15, 2026markdownhtmlbrowserweblocal
CVE-2025-2783MaturityPoCVerified exploit

Repository contains a real Windows Chromium full-chain exploit for CVE-2025-2783 rather than a detector. Structure is simple: README documents the chain, demo/exp.html provides the browser-side trigger and staging logic, and src/ contains the native payload implemented as a Chromium-linked shared library plus an embedded copy of MinHook for runtime API/function detouring. The BUILD.gn file shows the intended build model: compile main.cc into a shared library named exploit_mojo with dependencies on Chromium ipcz and mojo internals. The main exploit capability is sandbox escape followed by native code execution. According to README and visible code, the DLL initializes from DllMain by spawning a thread, locates chrome.dll, resolves version-specific offsets, and uses MinHook to detour internal Chromium/V8 functionality. One hook targets V8Console::Debug so JavaScript in the demo page can pass an ArrayBuffer containing second-stage shellcode into native code. Another hook targets ipcz relay handling (described as OnAcceptRelayedMessage) to craft a spoofed RelayMessage request and obtain a privileged thread handle from a higher-privileged process. The exploit then performs thread hijacking: suspend thread, alter context, and invoke Windows APIs such as VirtualAlloc, ReadProcessMemory, and CreateThread to stage and run shellcode. The browser-side demo is not just a static page; it contains substantial JavaScript/Wasm exploit logic and explicitly fetches windows/shellcode.bin, computes addresses, writes staged code into RWX memory, and signals the native hook path via console.debug. README states the demo should be served locally with python -m http.server and opened at http://127.0.0.1:8000/exp.html. This makes the attack chain a combination of web/browser delivery and local/native post-exploitation on Windows. Notable fingerprintable artifacts include the local demo URL, the fetched shellcode path windows/shellcode.bin, references to payload.bin and shellcode.bin, the target module chrome.dll, and hardcoded supported Chrome versions in g_node_offset_map. The repository is operational but not broadly weaponized: it includes a working payload path and shellcode execution flow, yet relies on hardcoded offsets, Chromium source-tree integration, and a narrow Windows/Chrome compatibility window.

aronfourDisclosed Apr 1, 2026markdownhtmlbrowserlocalweb
ChromSploit-FrameworkMaturityPoCFrameworkChromSploit FrameworkVerified exploit

ChromSploit Framework is a modular, extensible exploitation and research platform focused on browser and server vulnerabilities. It provides operational exploit modules for several high-profile CVEs (including Chrome, Edge, Firefox, Tomcat, and Git), with a strong emphasis on safety: all exploits default to simulation mode, and real exploitation requires explicit authorization. The framework supports multi-stage browser exploit chains, advanced payload obfuscation, automated tunneling (ngrok), and C2 integration (Sliver, Metasploit). It includes a professional reporting system, live monitoring, and evidence collection. The repository is well-structured, with clear separation between core logic, modules, exploits, and documentation. Numerous endpoints are fingerprintable, including local HTTP servers for exploit delivery, OAuth phishing, and data exfiltration. The codebase is primarily Python, with supporting JavaScript, JSP, and shell scripts. This framework is suitable for advanced security research, red teaming, and educational demonstrations, but should only be used in authorized, isolated environments due to the presence of real exploit code (even though simulation is the default).

Leviticus-TriageDisclosed May 26, 2025pythonjavascriptbrowsernetworklocal
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
CefsharpCefsharp.Offscreenapplication
CefsharpCefsharp.Offscreen.Netcoreapplication
CefsharpCefsharp.Winformsapplication
CefsharpCefsharp.Winforms.Netcoreapplication
CefsharpCefsharp.Wpfapplication
CefsharpCefsharp.Wpf.Hwndhostapplication
CefsharpCefsharp.Wpf.Netcoreapplication
GoogleChromeapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence6

Every observed campaign linking this CVE to a named adversary.

Associated malware13

Malware families riding this exploit, with evidence and IOCs.

Detection signatures2

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity72

Community discussion across Reddit, Mastodon, and other social sources.