← All articles

Compensating Controls for Unpatched Vulnerabilities on Endpoints

Mitigation is not remediation — what an IT team does while the fix is out of reach

Somewhere in your estate sits a machine that will not take this week’s patch, and it will still sit there next month. Compensating controls for unpatched vulnerabilities are the measures an IT team puts in place while that stays true. They do not close the weakness. They make it harder to reach or less useful to an attacker, and they hold the exposure at a level the organization accepts until a permanent fix lands.

The word that carries the weight is temporary. A compensating control stands in for the remediation you cannot apply yet. It never replaces it.

Most guidance on endpoint vulnerability management assumes the patch exists and the only question concerns speed. Endpoint estates rarely behave that way, and the team still owns the risk on every machine that falls outside the assumption.

Why Some Vulnerabilities Stay Open

Three situations account for most of the endpoints that stay exposed after a scan.

The vendor has not shipped a fix. The advisory is public, proof-of-concept code circulates, and the release notes say nothing. Nothing the IT team installs will help.

The patch exists, but it breaks something. A case-management system depends on the exact runtime version the update replaces. The application owner tests it, an export function fails, and the rollout stops. The vulnerable version stays in production because the alternative is a department that cannot work.

The device cannot take the update. A machine that drives production equipment and runs an operating system past its support window. An endpoint inside a change freeze. A laptop that connects for twenty minutes a week, never long enough to finish an install.

Mitigation Is Not Remediation

A scanner reports state, not judgment. After a compensating control goes in, the CVE still appears on the report, because the vulnerable build still sits on disk. Nothing about the control changes that line.

What changes is the answer to a different question: can anyone reach this, and what happens if they do. That produces three states, and a report that does not separate them misleads whoever reads it.

Vulnerable and exposed. The weakness sits there and nothing stands between it and an attacker.

Vulnerable but mitigated. The weakness sits there, a named control interrupts the path, and someone owns what remains.

Remediated. The weakness is gone — through a patch, an upgrade, a configuration change, a replacement, or retirement of the machine.

Most teams track the first state and the third. The middle one is where the next six weeks of work actually live.

Same CVE, three states: the scanner reports the first two identically, but the exploit path differs. Same CVE. Three states. The scanner cannot tell the first two apart. The exploit path can. WHAT THE SCANNER REPORTS WHAT IS ACTUALLY TRUE Vulnerable and exposed CVE-2026-XXXXX · OPEN Nothing interrupts the path ! Vulnerable but mitigated CVE-2026-XXXXX · OPEN A named control breaks the chain · owner · exit trigger ! control Remediated CVE-2026-XXXXX · CLOSED The vulnerable build is off the machine ! capaone.com
A compensating control does not change what the scanner reports. It changes what an attacker can reach.

The formal vocabulary is stricter than daily use. NIST describes a compensating control as one an organization puts in place instead of a control a baseline requires, giving equivalent or comparable protection. Endpoint teams use the phrase more loosely, for any temporary measure that buys time. Both senses demand the same discipline: write down what the control substitutes for, and what it leaves behind.

A Practical Workflow for Compensating Controls for Unpatched Vulnerabilities

Four steps, and the order does most of the work.

Find the Exact Population

A control that covers the whole estate costs more than it should and hides what it protects. A control that covers only the machines running the vulnerable build stays proportionate, and the team lifts it the moment that group no longer needs it.

So the first question is not which control to apply. It is how many endpoints carry the affected build, and which ones. A CVE on a dashboard says the estate has a problem. Forty machine names say what the problem costs to contain.

Work Out What the Exploit Needs

Many vulnerabilities depend on preconditions you can name: a service reachable from the network, a feature nobody turned off, a file type that reaches a vulnerable parser, an account holding rights it never needed. Where the advisory documents those conditions, removing one of them cuts the exposure without touching the software.

Where it does not, assume less. Some weaknesses need very little, and an advisory written for a dozen product versions rarely says which of its conditions apply to the build you run.

Choose a Control That Interrupts That Path

The useful control breaks the specific chain. It is not automatically the one that deploys fastest. The common options, roughly in the order they apply on endpoints:

  • Restrict who can reach the service — a firewall rule, segmentation, or removing the network path entirely.
  • Turn the vulnerable feature off, or reconfigure it out of the exploitable state.
  • Remove standing local admin rights, where the exploit or what follows it needs elevation.
  • Control what executes — allowlisting, or deny rules for the script hosts and installers that exploits chain through.
  • Raise monitoring on the affected machines, so a failed attempt reads as something other than noise.
  • Isolate or retire the device, when nothing else lowers the risk far enough.

Several of these sit outside endpoint tooling, and some belong to the network team. That is part of the point: the control follows the exploit path, not the org chart.

Name the Residual Risk and the Exit

Whatever the control leaves behind is residual risk, and it needs an owner and a decision — accept it for a stated period, strengthen the control, or take the machine out of service.

Then write the exit condition next to the control, and make it a trigger rather than a date. This comes off when the vendor ships build 4.2, or when these forty endpoints report the fixed version. A control carrying only a review date turns into permanent configuration that nobody can explain, and six months later someone removes it during an unrelated cleanup because the reason no longer appears anywhere.

How CapaOne Supports Compensating Controls for Unpatched Vulnerabilities

CapaOne covers the endpoint side of this work: the population, the privilege layer, and the closing of the loop. Segmentation and network filtering stay where they already live.

CapaOne Security Monitor, part of the CapaOne Endpoint Management Platform, maps CVEs to the endpoints that carry them and turns scope, severity and impact into a risk score. That answers step one. It also reports the security configuration each endpoint runs with — antivirus protection, disk encryption, firewall status, operating system update status, local administrator exposure and pending reboots. Two of those fields bear on this particular decision: firewall status and local administrator exposure. The rest describe posture rather than the exploit path, and keeping the difference straight matters the moment someone asks why a control went on one group of machines and not another.

Privilege Manager handles the privilege step. It removes standing local admin rights and grants policy-based, time-limited elevation instead, and policy deny rules cover shells and unsigned installers.

Application Manager closes the loop. Once the vendor ships a version that installs cleanly, affected endpoints move through the configured update workflow on policy, version posture shows which machines landed on the fixed build, and the control comes off on the trigger the team wrote down.

The gain is not a shorter CVE list. The scanner reports what it reports. What changes is the middle state: a defensible account of which endpoints sit exposed, which sit mitigated and by what, and which have moved to remediated. That account is what an auditor, an insurer or a board actually asks for.

Compensating controls belong in the same workflow as patching, not in a spreadsheet beside it. Book a demo of CapaOne Endpoint Management Platform to see the CVE-to-endpoint mapping and the posture fields on a real estate.

Frequently Asked Questions

What Is a Compensating Control in Endpoint Security?

The term carries two senses. Formally, NIST describes a compensating control as one an organization puts in place instead of a control required by a baseline, giving equivalent or comparable protection. In everyday endpoint work the term covers something looser: a temporary measure that lowers the likelihood or impact of exploitation while a fix stays out of reach. Either way it leaves the vulnerability in place, so a permanent fix — a patch, an upgrade, a configuration change, a replacement, or retirement of the machine — remains the target.

What Should an IT Team Do When a Patch Breaks a Business Application?

Keep the older version running, and put a named control around it. Work out which precondition the exploit depends on, remove that one if you can reach it, and limit what the affected machines can execute. Track the exact endpoints that still carry the vulnerable build. Then work the application owner and the vendor toward a version that installs cleanly.

How Long Should a Compensating Control Stay in Place?

Until a permanent fix lands, and not by default beyond it. The fix does not have to be a patch: an upgrade, a configuration change, replacing the software, or retiring the machine all end the need for the control. Write the trigger next to the control when you put it in, because a control with only a review date turns into permanent configuration nobody can explain.

Can an Unpatched Vulnerability Count as Mitigated?

Yes, when the control materially lowers the risk and the team can show how. That means recording the affected endpoints, the control itself, the residual risk, the owner, and the trigger for review. An owner and a date on their own do not make a risk managed. Permanent remediation stays the target state.

Book a Demo →