Threat analysis
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:
| Vendor | Entries |
|---|---|
| Cisco | 16 |
| Fortinet | 15 |
| Ivanti | 14 |
| SonicWall | 13 |
| Palo Alto Networks | 12 |
| Citrix | 11 |
| F5 | 7 |
| Check Point | 3 |
| Array Networks | 2 |
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.
- Flagged as used in ransomware campaigns
- Remaining entries
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 timeline
- Your patching process
- Exposure window
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:
| Vulnerability | Product | Added → due |
|---|---|---|
| CVE-2025-5777 | Citrix NetScaler | 2025-07-10 → 07-11 |
| CVE-2025-0282 | Ivanti Connect Secure | 2025-01-08 → 01-15 |
| CVE-2024-3400 | Palo Alto PAN-OS | 2024-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 the patch fixes
- What the patch cannot undo
- What you must do separately
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:
- 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.
- 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.
- 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.
- 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.
- 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
| Term | In one sentence | Source |
|---|---|---|
| Known Exploited Vulnerabilities | Catalogue of flaws confirmed exploited in the wild | CISA KEV |
| BOD 22-01 | Directive binding agencies to KEV deadlines | CISA BOD 22-01 |
| External remote services | Services exposed publicly for remote logins | MITRE ATT&CK T1133 |
| Exploit public-facing application | Breaking in through a known flaw in an exposed service | MITRE ATT&CK T1190 |
| Authentication bypass | Gaining access without passing the login | CWE-287 |
| Zero-day | A flaw exploited before a fix ships | Zero-day vulnerability |
| Patch management | Deciding when and in what order to apply updates | NIST SP 800-40 Rev. 4 |
| Out-of-bounds read | Reading memory outside the allocated range | CWE-125 |
| Session token | The string that stands for a logged-in state | Session hijacking |
| Steal web session cookie | Taking a cookie to resume an authenticated session | MITRE ATT&CK T1539 |
| Multi-factor authentication | A second factor required beyond the password | NIST SP 800-63B |
| Emergency Directive 24-01 | Order to disconnect specific appliances | CISA ED 24-01 |
| Lateral movement | Spreading from one internal host to the next | MITRE ATT&CK TA0008 |
| Attack surface | Every entry point reachable from outside | Attack surface |
| Zero trust architecture | Treating network location as no basis for trust | What 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.