VPN vulnerabilities: why patching is always late

Most organisations handle VPN vulnerabilities the same way: the vendor publishes an advisory, IT assesses the impact, a maintenance window gets scheduled for an off-peak hour, the appliance is taken down, updated and rebooted, and the ticket closes. Nothing about that process is wrong. It rests on one assumption — that the clock belongs to us — and on remote-access appliances that assumption does not hold.

The more useful question is not whether you patch fast enough. It is why this class of device produces a fresh batch every year. This article answers that from the CISA Known Exploited Vulnerabilities catalogue (KEV), using the 21 August 2026 release: 1,674 entries in total.

By the end you should be able to answer three things: how large this problem actually is, why the patching clock structurally starts late, and what is still outstanding after the update is installed.

How many VPN vulnerabilities are in the KEV catalogue

KEV does not list theoretical risk. Every entry has evidence of exploitation in the wild, and under BOD 22-01 US federal agencies must remediate each one by a stated deadline. It is best read as a list of things already being attacked.

Of the 1,674 entries, 93 are remote-access or edge gateway appliances — SSL VPN portals, remote-access gateways, and perimeter firewalls carrying VPN functions. Those 93 come from nine vendors:

VendorEntries
Cisco16
Fortinet15
Ivanti14
SonicWall13
Palo Alto Networks12
Citrix11
F57
Check Point3
Array Networks2

The Ivanti row includes entries filed under Pulse Secure before the acquisition. The same catalogue holds entries from 278 vendors. So 5.6% of the entries come from 3.2% of the vendors.

The ransomware column is more striking. KEV flags whether an entry has been used in known ransomware campaigns: across the whole catalogue, 352 of 1,674 are flagged (21%). Among these 93, 50 are flagged (54%) — the same data and the same criterion, at roughly 2.5 times the rate.

Remote-access appliance entries in the CISA KEV catalogue, by yearA bar chart of remote-access appliance vulnerabilities added to the CISA Known Exploited Vulnerabilities catalogue each year: 19 in 2021, 21 in 2022, 7 in 2023, 18 in 2024, 18 in 2025 and 10 in 2026 through August — 93 in total. Of these, 11, 11, 5, 11, 8 and 4 respectively are flagged as used in ransomware campaigns, 50 in all. The 93 entries come from nine vendors.Entries added per year (gold: flagged as used in ransomware campaigns)1920211121202211720235182024111820258102026493 entries over six years, from nine vendors. The same catalogue holds 1,674 entries from 278 vendors.2021 is the catalogue’s launch year and includes a backfill of earlier entries; 2026 counts through August.
  • Flagged as used in ransomware campaigns
  • Remaining entries
FIG 01 The bars being roughly level is the point. This is not one bad year but a steady annual supply, and the gold portion shows that more than half of it lands in ransomware campaigns.
Text version of this diagram

Remote-access appliance entries in the CISA KEV catalogue, laid out by year: a flat line rather than a one-off.

Entries added per year (ransomware-flagged in brackets)

  • 2021: 19 (11).
  • 2022: 21 (11).
  • 2023: 7 (5).
  • 2024: 18 (11).
  • 2025: 18 (8).
  • 2026 through August: 10 (4).

What to take from it

  • 93 entries over six years, 50 of them flagged as used in ransomware campaigns — more than half.
  • All 93 come from nine vendors. The same catalogue holds 1,674 entries from 278 vendors.
  • 2021 is the launch year and includes a backfill of earlier entries; 2026 counts through August.
  • Every year except 2023 lands between roughly ten and twenty. The supply is steady.

One honest caveat: those 93 are classified by vendor and product name, and where you draw the boundary moves the count by a few — counting VPN-capable firewalls or not changes the total. A handful either way does not change the order of magnitude of either ratio.

Why it is always this kind of box

VPN vulnerabilities concentrate here for reasons that have little to do with any one vendor’s engineering. There are three, and all three are properties of the position rather than the product.

It has to answer the whole internet. For staff to connect from outside, the appliance must accept unauthenticated requests from the public network — in MITRE ATT&CK terms, an external remote service (T1133). You cannot hide it behind a firewall rule, because it is the way through the firewall.

Its attack surface sits before authentication. To decide who you are, the appliance first has to parse what you sent: the TLS handshake, HTTP headers, the login form, portal parameters. All of that code runs before identity is established, so any defect in it is an opportunity for exploitation of a public-facing application (T1190). Seventeen of the 93 entries are named for authentication bypass, improper authentication or missing authorisation — and what those share is that the attacker needs no account at all, so MFA never enters the picture.

It is the trust anchor. The appliance holds every remote user’s session, the configuration, and sometimes recoverable credentials. Taking it is not gaining a foothold; it is collecting the whole roster at once.

Together those three mean switching vendors does not change the structure. It changes which advisories you follow. It does not change the fact that you operate one box that must answer the entire internet and knows who everybody is.

Why patching starts late by design

Because the two clocks do not start together.

The attacker’s clock starts when the flaw becomes usable — frequently before any advisory exists, which is the definition of a zero-day. Your clock starts when the advisory reaches you, and is followed by version checks, a scheduled window, downtime and a reboot.

The attacker’s clock and the patching clock on one axisThe upper lane is the attacker’s timeline: the flaw becomes usable, possibly before any advisory; mass scanning begins within hours of the advisory; a foothold is taken. The lower lane is the defender’s patching process: the advisory is noticed, affected versions are identified, a maintenance window is scheduled, and the appliance is finally taken down, updated and rebooted. Both lanes share the advisory marker, but the attacker’s lane starts earlier and the defender’s lane ends later. The red band between them is the exposure window.Exposure windowAdvisoryThe attacker’s sideFlaw is usable(possibly pre-advisory)Hours after advisory:mass scanning startsFoothold taken— flaw no longer neededYour sideAdvisory published,you see itIdentify affectedversionsSchedule amaintenance windowUpdated andrebootedCVE-2025-5777 was given a federal remediation deadline one day after it entered KEV. The catalogue normally allows 21.You do not get to set the length of the window. You do get to set how much is reachable inside it.
  • The attacker’s timeline
  • Your patching process
  • Exposure window
FIG 02 Both lanes share the advisory line in the middle, but the upper one begins before it and the lower one ends after it. The red band is not a delay; it is a period somebody is standing inside.
Text version of this diagram

The attacker’s clock and the patching clock on one axis, sharing the advisory marker but starting and ending at different points.

Upper lane: the attacker’s side

  • The flaw becomes usable — possibly before any advisory exists.
  • Within hours of the advisory, mass scanning begins.
  • A foothold is taken; past this point the flaw itself is no longer needed.

Lower lane: your side

  • The advisory is published and you see it.
  • Affected versions and scope are identified.
  • A maintenance window is scheduled.
  • The appliance is taken down, updated and rebooted.

The red band between them

  • The exposure window runs from “the flaw is usable” to “your update is finished”.
  • It opens before the advisory and closes after it.
  • CVE-2025-5777 was given a federal remediation deadline one day after entering KEV; the catalogue normally allows 21.
  • You do not set the length of the window. You do set how much is reachable inside it.

The remediation deadlines in KEV show how the regulator reads that gap. The catalogue’s normal allowance is 21 days, but 23 of these 93 entries were given seven days or fewer:

VulnerabilityProductAdded → due
CVE-2025-5777Citrix NetScaler2025-07-10 → 07-11
CVE-2025-0282Ivanti Connect Secure2025-01-08 → 01-15
CVE-2024-3400Palo Alto PAN-OS2024-04-12 → 04-19

The first row is not a typo. The deadline was the day after the entry appeared.

And the reason seven days is hard is rarely negligence or headcount. Taking that appliance down disconnects everyone working remotely at the same time. Whether you can patch depends on whether you can stop the box — and the VPN gateway is precisely the box you can least afford to stop. NIST SP 800-40 Rev. 4 covers the prioritisation trade-offs well, but it cannot resolve that contradiction, because the contradiction is architectural rather than procedural.

Patched and still breached: the lesson of CitrixBleed

That installing the update does not close the incident has an official source.

CVE-2023-4966, widely known as CitrixBleed, is an out-of-bounds read: an attacker can read appliance memory, and that memory contains valid users’ session tokens. With a token in hand the attacker resumes an already-authenticated session — no username, no password, no one-time code — which ATT&CK catalogues as stealing a web session cookie (T1539).

CISA and partner agencies documented in AA23-325A how LockBit 3.0 affiliates used it to bypass passwords and MFA and hijack user sessions. The required action recorded in KEV for that entry is not “apply the update”. It is apply the update and kill all active and persistent sessions.

What a patch undoes, and what it does notThe left column, “what the patch does fix”, lists two items: the out-of-bounds read itself, and the logic that allowed authentication to be bypassed. The right column, “what the patch cannot undo”, lists four: session tokens already leaked, credentials already read out, persistence already planted, and configuration and user lists already exported. The row underneath notes that CISA’s required action for CVE-2023-4966 was not only to apply the update but to kill all active and persistent sessions.What the patch fixesThe out-of-bounds read itselfThe logic that let auth be bypassedWhat the patch cannot undoSession tokens already leakedCredentials already read outPersistence already plantedConfigs and user lists already exportedCISA’s required action for CVE-2023-4966: apply the update, and kill all active and persistent sessions.
  • What the patch fixes
  • What the patch cannot undo
  • What you must do separately
FIG 03 A patch is retroactive about code and about nothing else. Every item in the right-hand column needs a separate action before it goes away.
Text version of this diagram

A patch fixes code. It does not reach the things the flaw handed out while it was open.

Left column: what the patch fixes

  • The out-of-bounds read itself.
  • The logic that let authentication be bypassed.

Right column: what the patch cannot undo

  • Session tokens already leaked.
  • Credentials already read out.
  • Persistence already planted.
  • Configuration and user lists already exported.

The row underneath

  • CISA’s required action for CVE-2023-4966 was not only to apply the update but to kill all active and persistent sessions.
  • In other words, “we patched it, we are done” is officially not the case.

So the default assumption in incident handling should be inverted for this class of device: “patched” means the window is closed, not that nothing left through it. Session revocation, credential rotation and a hunt for indicators belong in the patching runbook itself, on the same ticket as the update, rather than being remembered after something surfaces. What an attacker does once they hold valid credentials is broken down in how ransomware gets in.

Why one appliance falling equals the whole internal network

Because that is what the gateway model was designed to do: once you authenticate, the appliance hands you an internal address, and from then on what you can reach is decided by the network segment rather than by your identity.

This explains an official action that otherwise looks like an overreaction. In January 2024, in response to vulnerabilities in Ivanti Connect Secure and Policy Secure, CISA issued Emergency Directive 24-01, requiring federal agencies to disconnect all instances of those products from their networks by the evening of 2 February and to complete a prescribed procedure before bringing any of them back.

The regulator’s judgement was to unplug first and patch second. That judgement makes sense in exactly one situation: when what the appliance leads to is too much to risk for the sake of keeping it available.

Which is to say that treating VPN vulnerabilities as an entry-point problem understates them. They are three things stacked together — a doorway that must be public, a trust anchor holding everybody’s identity, and a path into the whole internal network. How the three architectures differ on that last point is set out in VPN, gateway ZTNA and SDP compared; the mechanism that keeps a service from answering unauthenticated requests at all is in what a software-defined perimeter is.

Five things to do that are not patching

Keep patching. These five sit alongside it, and none of them requires a purchase:

  1. Take management interfaces off the public internet. Several KEV entries target an appliance’s management plane rather than its VPN service. There is no reason for that plane to answer the whole internet.
  2. Check your own device and firmware list against KEV instead of waiting for a vendor newsletter. In Taiwan, TWCERT/CC is worth reading alongside it.
  3. Write “revoke all sessions, rotate credentials and keys” into the patching runbook, on the same ticket as the update rather than as a later remedy.
  4. Inventory whatever else answers the whole internet the way the VPN does. It is rarely just one box; the method is in what your company exposes on the public internet.
  5. Ask one question: after authenticating, how many hosts can a user actually reach? If the answer is “the whole segment”, then every hour spent so far has gone into shortening the exposure window while nothing has been done about the loss inside it.

If the answer to the fifth is unsatisfying, the thing to fix is the architecture rather than the patching speed — choosing and migrating off a VPN covers how that path is sequenced and how to run the parallel period.

Terms and further reading

TermIn one sentenceSource
Known Exploited VulnerabilitiesCatalogue of flaws confirmed exploited in the wildCISA KEV
BOD 22-01Directive binding agencies to KEV deadlinesCISA BOD 22-01
External remote servicesServices exposed publicly for remote loginsMITRE ATT&CK T1133
Exploit public-facing applicationBreaking in through a known flaw in an exposed serviceMITRE ATT&CK T1190
Authentication bypassGaining access without passing the loginCWE-287
Zero-dayA flaw exploited before a fix shipsZero-day vulnerability
Patch managementDeciding when and in what order to apply updatesNIST SP 800-40 Rev. 4
Out-of-bounds readReading memory outside the allocated rangeCWE-125
Session tokenThe string that stands for a logged-in stateSession hijacking
Steal web session cookieTaking a cookie to resume an authenticated sessionMITRE ATT&CK T1539
Multi-factor authenticationA second factor required beyond the passwordNIST SP 800-63B
Emergency Directive 24-01Order to disconnect specific appliancesCISA ED 24-01
Lateral movementSpreading from one internal host to the nextMITRE ATT&CK TA0008
Attack surfaceEvery entry point reachable from outsideAttack surface
Zero trust architectureTreating network location as no basis for trustWhat zero trust architecture is

Every figure above can be recomputed: KEV publishes a JSON version of the catalogue, and filtering the vendor and product fields against your own device list gives you the entries that apply to you. If you would like the exposure window assessed against a specific environment, get in touch.

Back to the blog

What SDP v3.0 Changed: SPA Is No Longer the Definition

SDP v3.0 demotes single packet authorisation from definition to option. What the new guide actually changed, why SPA struggles on IoT and cloud functions, where the line between SDP and microsegmentation really falls, and what to do first.