CVE-2026-21509: an OLE security-feature bypass that boils down to trusting the wrong byte
Microsoft shipped an out-of-band fix on January 26th for an actively exploited Office flaw. CWE-807 — "reliance on untrusted inputs in a security decision." That classification does a lot of work here. The short version: Office makes an OLE mitigation decision based on a value the attacker controls inside a crafted RTF, so the mitigation that's supposed to stop embedded-object abuse just... doesn't fire.
Reporting ties the in-the-wild use to APT28 (the campaign's being called Operation Neusploit), dropping loaders like MiniDoor and PixyNetLoader after a user opens the document. Targeting skewed heavily toward government and infrastructure in Ukraine and Eastern Europe, which fits the group's history.
Why our pipeline flagged the bug class early
We don't have the original PoC and we're not going to publish one. But the pattern — a security-relevant branch keyed off an attacker-supplied field — is exactly the shape our retrieval pass is tuned to surface. When we index a parser, we pull every conditional that gates a trust boundary and ask the model one question: can the value in this comparison be influenced by the input? RTF parsers light up on that query constantly. Most are false positives. This class isn't.
Defensive posture if you can't patch today
- Patch. Genuinely, this one is being exploited — it's in CISA KEV. Everything below is for the gap before your change window opens, not a substitute.
- Block or quarantine inbound RTF at the mail gateway. Most orgs do not legitimately need RTF in email, and the attack needs the user to open the file.
- Office "Block macros" doesn't help here — this isn't a macro path — but Protected View and ASR rules around Office spawning child processes do raise the cost of the follow-on loader stage.
- Hunt for the post-exploitation tells: Office processes writing DLLs to user-writable paths, then unusual rundll32 / regsvr32 launches. Toby's draft Sigma rule for the MiniDoor loader behavior is on our GitHub (link's a bit out of date, we'll repoint it).
Sources we leaned on: the MSRC advisory and NVD entry, plus the Sophos and Picus writeups on the active campaign. If you're running Office 2016 through 365 Apps, assume you're in scope.