Security researchers from the X-Force Red Adversary Simulation team have uncovered a novel method to bypass Windows Defender Application Control (WDAC), a robust Windows security feature designed to prevent unauthorized code execution through strict application whitelisting policies.
Often deployed in high-security environments, WDAC ensures that only explicitly trusted executables, scripts, and drivers can run.
However, this new technique exploits vulnerabilities in trusted Electron applications, leveraging the V8 engine-used by Node.js and Google Chrome-to execute native shellcode, effectively sidestepping WDAC’s stringent controls.
This discovery highlights a critical gap in application security, as even trusted, signed binaries can be weaponized to introduce malicious payloads in tightly controlled systems.
Unveiling a Sophisticated WDAC Bypass
The attack vector begins with a cunning strategy: targeting a trusted Electron application, often signed by reputable entities like Microsoft, which is inherently allowed under WDAC policies.
By replacing the application’s main.js file with a tailored exploit for a known vulnerability (N-day) in an outdated version of the V8 engine, attackers achieve low-level, instruction-level code execution.
Unlike previous methods limited to JavaScript execution, this approach enables the loading of native code, such as DLLs or EXEs, and even shellcode for deploying advanced command-and-control (C2) payloads like Loki C2, an open-source Node.js-based framework developed by team members Bobby Cooke and Dylan Tran.
The exploit’s potency is further enhanced as it operates within a browser-like process context, where actions like mapping RWX memory for Just-In-Time (JIT) compilation appear benign to endpoint detection and response (EDR) systems, evading typical suspicion.
Trusted Applications with V8 Vulnerabilities
The research process was fraught with technical challenges, from adapting public V8 exploits-often designed for Linux-to Windows environments, to navigating Electron’s version-specific V8 implementations, where security patches are backported inconsistently.
Researchers painstakingly compiled V8 versions for debugging, using tools like the d8 shell to map memory addresses and adjust hardcoded offsets.

Complications arose from V8’s TurboFan JIT optimizations, which disrupted shellcode smuggling in floating-point arrays, and from inconsistent memory offsets across Windows versions, necessitating a “just-in-time exploit engineering” approach.
This involved iterating through multiple offset attempts in a loop until successful exploitation, a noisy but effective tactic.
Further obfuscation of the JavaScript exploit code and integration with a CI/CD pipeline for payload delivery ensured the attack remained covert, even when initial phishing attempts were flagged by vigilant users.
This bypass technique underscores a pivotal security concern: the inherent trust in signed applications can be a double-edged sword.
Even as WDAC fortifies systems against unauthorized code, the exploitation of trusted binaries with embedded vulnerabilities reveals a pathway for attackers to infiltrate hardened environments.
While operational challenges like sandbox escapes and payload sizing were overcome through innovative techniques like argument smuggling and staged payload retrieval from blob storage, the broader implication is clear-organizations must scrutinize even trusted software for potential exploitation risks.
As malicious actors increasingly target browser engines like V8, bolstering security intelligence and staying abreast of such sophisticated exploits becomes paramount to safeguarding critical systems.
Find this News Interesting! Follow us on Google News, LinkedIn, & X to Get Instant Updates!