A vulnerability in Fortinet's fortimon3_74.sys kernel driver (FortiClient's "anti-exploit" minifilter) allows any local administrator to terminate any process - including PPL (Protected Process Light) protected processes like Windows Defender (MsMpEng.exe) and lsass.exe - by sending an 8-byte message to an unauthenticated communication port.
No buffer overflow. No heap spray. No ROP chain. Just 8 bytes.
| Field | Value |
|---|---|
| Driver | fortimon3_74.sys (FortiClient Anti-Exploit Minifilter) |
| Port | \Fortimon3FilterAntiExploitPort |
| Impact | PPL bypass, arbitrary process termination |
| Access | Local administrator |
| Authentication | None |
| BYOVD Risk | High - driver is signed by Fortinet |
The driver exposes a minifilter communication port with no caller authentication. It accepts a simple 8-byte message:
struct {
DWORD magic; // 0x6C6C696B ("kill" in little-endian ASCII)
DWORD pid; // Target process ID
};Upon receiving this message, the driver calls ZwOpenProcess with PROCESS_ALL_ACCESS from kernel mode (bypassing PPL checks), then ZwTerminateProcess. No validation is performed on the caller or target.
The ZwOpenProcess handle is created in the caller's handle table (missing OBJ_KERNEL_HANDLE flag), creating a brief window where a usermode attacker could duplicate a PROCESS_ALL_ACCESS handle to a PPL-protected process like lsass.exe - enabling credential theft without killing the process.
- No caller authentication - any admin process can connect to the port
- No target validation - any PID is accepted, including system-critical processes
- Excessive privilege -
PROCESS_ALL_ACCESSused instead ofPROCESS_TERMINATE - Handle table misuse - missing
OBJ_KERNEL_HANDLEflag exposes kernel handle to usermode
Watch the full demo - demonstrates PPL bypass against protected processes.
| File | Description |
|---|---|
poc.c |
Proof of Concept - terminates any process by name via the vulnerable driver |
fortimon3_74.sys |
Vulnerable driver binary (Fortinet-signed) |
poc.jpg |
Screenshot - lsass.exe terminated, system restart triggered |
forti.mp4 |
Video demo of the exploit |
cl.exe poc.c /Fe:poc_kill.exe
poc_kill.exe MsMpEng.exeRequires: local administrator privileges, fortimon3_74.sys loaded.
- Reported to Fortinet PSIRT with full technical details, PoC, and video demo
- Status: Duplicate (another researcher reported the same issue)
me1n