Five distinct exploit paths have been identified in an unpatched architectural flaw in Windows’ Remote Procedure Call (RPC) subsystem—each one allowing attackers to escalate privileges by targeting services that don’t exist.
Key Takeaways
- The flaw, dubbed PhantomRPC, stems from how Windows RPC handles connection attempts to nonexistent or unavailable services.
- Security researcher Benjamin Delpy documented five separate methods to trigger unauthorized privilege escalation.
- Attempts to reach services that aren’t running return predictable responses—an exploitable behavior Microsoft has not yet patched.
- Because the issue is architectural, traditional patching may not resolve it without breaking legacy compatibility.
- Attackers could leverage this flaw to gain SYSTEM-level access on unpatched machines, bypassing standard security controls.
The Quiet Crack in Windows’ Foundation
It’s not every day you find a vulnerability that doesn’t rely on memory corruption, buffer overflows, or race conditions. PhantomRPC isn’t about broken code—it’s about how Windows was designed to respond to failure.
When a client tries to connect to an RPC service that isn’t active, the OS doesn’t just reject the call. It spins up a temporary endpoint, binds it to a local pipe, and returns a handle—predictably, and with elevated context. That predictable behavior is the hole. And Benjamin Delpy, a well-known figure in Windows security research, proved it can be weaponized.
The implications aren’t hypothetical. He demonstrated all five exploit paths in controlled environments on fully updated Windows 10 and 11 systems—machines patched through April 2026. No zero-day kernel exploits. No social engineering. Just RPC calls to services that aren’t there.
How PhantomRPC Turns Absence Into Access
The core issue lies in Windows’ backward compatibility promise. RPC has been part of the OS since NT, and over decades, Microsoft built layers of tolerance for malformed or failed requests. That tolerance—meant to keep enterprise applications running—has become a liability.
When a process requests an RPC endpoint for a service that doesn’t exist, the server runtime (rpcss.dll) still allocates a pipe. It does so under the SYSTEM account. The client receives a handle to that pipe. Under normal circumstances, the handle is useless—no actual service exists to process the call. But Delpy found that in certain configurations, that handle can be duplicated, manipulated, and used to impersonate higher-privileged contexts.
Exploit Path Breakdown
- Named Pipe Handle Reuse: A low-privileged process requests a nonexistent service, receives a handle, then leverages NtQuerySecurityObject to force handle inheritance into a privileged process.
- Token Impersonation via Stale Contexts: The RPC runtime doesn’t fully clean up security contexts for failed connections, allowing attackers to hijack impersonation levels.
- ALPC Port Confusion: By registering a fake interface identifier, attackers trick the system into binding to a user-controlled port with elevated privileges.
- Service Template Spoofing: Windows caches service configuration templates—even for services that aren’t installed. Delpy crafted calls that matched these templates, triggering privileged spawning logic.
- RPCSS Heap Grooming: Though not a direct memory corruption, repeated failed requests can stabilize heap layout, making other privilege escalation techniques more reliable.
Microsoft’s Silence Speaks Volumes
Delpy reported the findings through official channels in February 2026. As of April 27, 2026, Microsoft has not issued a patch. It hasn’t even assigned a CVE.
That’s not unusual for architectural flaws. Patching rpcss.dll without breaking decades of enterprise software is like rewiring a live power grid. But the lack of communication is concerning. There’s no advisory. No mitigation guidance. No acknowledgment on the MSRC blog.
And that leaves defenders blind. Most EDR tools don’t monitor for failed RPC calls to nonexistent services—because until now, there was no reason to. Why would you? It’s like logging every time someone knocks on a door that doesn’t exist.
But now, that knock could be the precursor to SYSTEM access.
The Real Risk Isn’t the Exploit—It’s the Blind Spot
What makes PhantomRPC particularly dangerous isn’t the technical complexity. It’s the detection gap.
These attacks leave no file writes. No suspicious parent-child process chains. No shellcode in memory. Just a few RPC calls logged in event ID 4663—if auditing is enabled, which it rarely is for RPC object access.
And because the behavior is native to the OS, even advanced behavioral analytics may not flag it. You’re not seeing malware. You’re seeing Windows work exactly as designed. That’s the irony—the flaw is the feature.
One enterprise security architect, reviewing Delpy’s write-up, put it bluntly: “We’re not defending against exploits. We’re defending against Windows being Windows.”
Why This Isn’t Just Another Privilege Escalation Bug
Most local privilege escalation (LPE) flaws require a foothold first—a phishing click, a drive-by download, a compromised service. PhantomRPC doesn’t change that. But once you’re in, the barrier to SYSTEM drops dramatically.
Consider ransomware. Most strains spend minutes—or hours—moving laterally, escalating, dumping hashes. With PhantomRPC, that escalation could happen in seconds, directly from a low-privileged shell.
And because the technique doesn’t rely on third-party drivers or known exploit frameworks, it bypasses signature-based defenses. No need for Mimikatz. No need for PrintNightmare-style shenanigans. Just RPC calls to services like NonExistentService or PhantomAgent—names that don’t exist, but that Windows still tries to serve.
How Enterprises Are Responding – And Where They’re Falling Short
Some organizations are starting to react, but not quickly enough. At financial institutions like JPMorgan Chase and Capital One, red teams have already integrated PhantomRPC into their post-compromise toolkits. Internal memos reviewed by Dark Reading show penetration testers using modified versions of Delpy’s proof-of-concept to bypass EDR solutions from CrowdStrike and SentinelOne during recent assessments.
Yet few have updated detection rules. Splunk and Microsoft Sentinel customers must manually create alerts for rare RPC interface calls—specifically those targeting UUIDs not associated with known Windows services. Even then, the signal-to-noise ratio is poor. One security engineer at a Fortune 500 manufacturing company admitted they only caught test attempts because they’d recently enabled verbose RPC logging—something most teams disable due to performance overhead.
Meanwhile, endpoint protection vendors are scrambling. Tanium released an experimental detection module on April 20, 2026, focused on anomalous rpcss.dll child process creation. But CrowdStrike acknowledged in a private customer briefing that their Falcon platform cannot reliably distinguish PhantomRPC activity from benign misconfigurations. The company expects meaningful telemetry improvements by Q3 2026—but that’s too late for many.
The delay highlights a broader industry problem: detection capabilities often lag behind exploit research by months. And in this case, attackers may already be ahead.
The Bigger Picture: Why It Matters Now
PhantomRPC didn’t emerge in a vacuum. It arrives at a time when nation-state actors and cybercriminals are increasingly targeting identity and access layers. Microsoft’s own 2025 Digital Defense Report noted a 68% year-over-year increase in privilege escalation attacks, with ransomware groups like LockBit and BlackCat refining their post-breach playbooks.
At the same time, Microsoft has been pushing organizations toward zero trust and least-privilege models. But PhantomRPC exposes a fundamental contradiction: you can strip user permissions all you want, but if the OS itself grants SYSTEM access through design quirks, those policies crumble. Zero trust assumes the endpoint is hostile. But what if the operating system is the adversary?
Other vendors aren’t immune to similar issues. Linux systems have faced critiques over D-Bus behavior when handling unregistered services, though no equivalent escalation path has been confirmed. Apple’s XPC subsystem includes strict sandbox checks that make PhantomRPC-style abuse unlikely, according to recent analysis by Trail of Bits. Still, the broader pattern—trusting internal subsystems too much—is common across platforms.
What sets PhantomRPC apart is scale. Over 1.4 billion devices run Windows. Even if only 10% are exposed due to misconfigurations or legacy app dependencies, that’s 140 million potential targets. And unlike cloud-native environments where updates roll fast, enterprise Windows fleets often take weeks or months to patch—even when fixes exist.
What This Means For You
If you’re a developer, stop assuming that failed service calls are harmless. Log them. Monitor them. Treat every RPC request to an unknown endpoint as a potential probe. Microsoft won’t fix this overnight, so you’ll need to build detection logic now—before attackers do.
If you’re a security architect, audit RPC object access on critical systems. Enable Object Access auditing for SeTcbPrivilege contexts. Consider blocking outbound RPC calls to non-standard endpoints via endpoint policies. And test Delpy’s POC in your lab—because if he found it, others have too.
One thing’s certain: a vulnerability that turns absence into access shouldn’t be ignored just because it’s quiet. The loudest attacks are the ones we see coming. The ones that slip through are the ones that look like nothing at all.
Sources: Dark Reading, BleepingComputer


