Microsoft Edge was broken out of its sandbox using only logic flaws—no memory corruption needed—by security researcher Orange Tsai, who revealed the exploit this week. His chain of logic errors, demonstrated at the Pwn2Own Berlin contest in May, earned $175,000. The issues have been fixed since, meaning users with a current Edge browser aren’t at risk.
Edge, like most modern browsers, runs web content inside a sandbox to isolate it from the rest of a user’s system. Breaking out of this sandbox is typically thought to require memory corruption bugs: overflows, use-after-free errors, that kind of thing. Tsai showed none of that was necessary—this exploit was built entirely from logic bugs, and the full proof-of-concept uses under 100 lines of code.
How the Exploit Worked
The exploit starts with Edge’s conditional access navigation throttle, a business-sign-in feature. Tsai found that invoking this let the browser’s process begin a new navigation that wasn’t tied to the page that initiated it, but instead could be attached to any open tab. This slip forms the foundation for a universal cross-site scripting (UXSS) primitive—effectively letting JavaScript run on any site, bypassing built-in content security policies.
Achieving this without requiring a user click involved chaining together additional edge cases. First, a check that ensured actions came from trusted Microsoft sites was evaded by opening the request from a second browser window. Normally, Edge’s popup blocker would block that, but one of the hardcoded allowed addresses let the popup through. The user also had to be signed into their Microsoft account—Edge can auto-sign in when visiting Microsoft resources. Finally, the exploit read the victim’s email address via a Microsoft service (assets.msn.com) that exposed it due to a misconfigured cross-origin setting.
Escaping the Sandbox and Gaining Code Execution
Even after establishing the UXSS vulnerability, the chain wasn’t done. Tsai leveraged Edge’s Immersive Reader mode, which runs under a custom “read://” scheme. Microsoft had excluded that scheme from restrictions on script execution. That allowed creation of a file anywhere on disk using an internal Edge function meant for zipping diagnostic logs.
From there, Tsai overwrote a configuration file that controls protocol handlers, restarted Edge so it would load the manipulated file, and then invoked a telnet:// link. Because Windows doesn’t include telnet by default, the system searches for an executable matching the protocol handler, allowing an attacker to place a malicious executable in a writable directory and get it to run. That final step completes full code execution outside the browser sandbox.
Microsoft addressed these issues with Edge Stable version 148.0.3967.70, released on May 15. Three Edge-specific flaws—CVE-2026-45492, CVE-2026-45494, and CVE-2026-45495—were patched. One of them was a security feature bypass and another a spoofing bug; both carried a medium severity rating in Microsoft’s scoring system. Automatic updates mean most users were protected shortly after.
Tsai built the exploit chain by hand over roughly two months, without AI assistance. He emphasized that while identifying each logic bug is the hardest part, chaining them together into a working exploit becomes more straightforward once the individual flaws are known. For this work, Tsai was honored with the 2026 Pwnie Award for Epic Achievement.
It bears stating: this was a competition exploit, not an attack observed in the wild. The chain requires several preconditions—like being signed in, or certain browser settings—and one step that restarts Edge was used for contest purposes, not needed in a realistic scenario. Microsoft’s CVE records show no indication the vulnerabilities were exploited outside of Tsai’s Pwn2Own demonstration.
What this means: logic flaws alone can be enough to break modern browser isolation—something security experts often reserve for memory corruption bugs. While Edge has already been patched, even small misconfigurations—like improper cross-origin settings or excluded URL schemes—can enlarge attack surfaces dramatically. Developers should treat logic bugs with as much seriousness as memory errors, especially in critical components like sign-in flows, navigation, and file handling. Going forward, deeper design reviews are essential to closing off these subtle but powerful attack vectors.