Skip to content

You Snooze You Lose: RPC Racer Winning RPC Endpoints Against Services

Ron Ben Yizhak

Introduces RPC Racer, a technique that exploits race conditions in Windows RPC endpoint registration to hijack privileged system service communication.

Summary

Windows Remote Procedure Call Architecture

Windows relies on Remote Procedure Call (RPC) interfaces for inter-process communication between user applications and privileged background services (such as LSASS, Spooler, and DCOM).

Race Conditions in RPC Endpoint Binding

Ron Ben Yizhak identifies a widespread timing flaw in how Windows system services register and bind dynamic RPC endpoints during system boot and service restarts.

RPC Racer: Hijacking Privileged Service Endpoints

The author introduces RPC Racer, an exploit technique that wins registration race conditions against legitimate services, allowing an unprivileged attacker to bind to intended service interfaces and intercept or manipulate privileged IPC messages.

Remediation and Defensive Guidance

Securing Windows RPC interfaces requires developers and Microsoft to enforce exclusive interface binding flags, mandate interface security callbacks, and audit endpoint registration timing.

Related talks