More bugs, found faster#
In 2025, 48,185 CVEs were published, about 21% more than in 2024. That’s roughly 130 a day, with a clear preference for Tuesdays. Not all of them are your problem. The biggest single source was a company that reports WordPress plugin bugs, and I’m fairly sure nobody runs WordPress on their CEO’s laptop.1
The direction matters more than the number, and AI is pushing it from both ends. Google’s Big Sleep agent reported its first 20 vulnerabilities in August 2025, mostly in FFmpeg and ImageMagick. Those aren’t exotic projects. They sit inside a lot of desktop software your users run every day. On the other end, Mandiant’s M-Trends 2026 estimates the mean time to exploit at minus seven days. On average, exploitation now starts before the patch exists. And according to the Verizon 2026 DBIR, organisations took a median of 43 days to fix vulnerabilities, up from 32 the year before.
To be fair to the numbers: a lot of that exploitation hits edge devices like VPN gateways, firewalls and WAFs, and internet-facing servers, not the PDF reader on a user’s device. And counting CVEs helps nobody. If you prioritise by known exploitation, with the CISA KEV catalogue or the exposure view in Defender Vulnerability Management, most of the noise is gone already.
But prioritising only helps if you can act on the result. For your browsers and Microsoft 365 Apps, that’s largely solved. For the long tail of third-party software on user devices, it often isn’t. PDF tools, conferencing clients, runtimes, and that one tool someone installed for a project in 2019. That long tail is what this post is about.
Packaging isn’t where the time goes#
When third-party patching is slow, packaging usually gets the blame. Someone has to download the new version, wrap it, write a detection rule, test install and uninstall, and publish it. That’s real work, it grows with every app in the portfolio, and it’s exactly what third-party patching (TPP) tools take away.
In the estates I’ve worked in, packaging was rarely the slow part. The slow part came afterwards.
The new version goes to a pilot ring. The pilot ring belongs to business testers, and business testers have a day job. A week later nobody has said anything. Is that a good sign, or did nobody open the app?
IT is now stuck. You can push the update to everyone without real feedback, which quietly accepts a business risk on the business’s behalf. Or you wait for a reply that may come after the next quarterly close, which quietly accepts a security risk instead. Either way, someone made a risk decision, and it probably wasn’t the person who owns the risk.
Faster packaging doesn’t solve that. It just makes the queue in front of the pilot ring longer. What helps is agreeing with the business, before anything breaks, how long a ring lasts and what silence means. For most apps, something like three working days in pilot, and no reported issue means go. For the few apps where that isn’t acceptable, the business names a tester who actually has time for it. That list should be short, and I’ll come back to it below.
The cheapest patch is the app you removed#
Every app on a device is a patch stream you’ve signed up for, forever. You can automate that stream, but you can’t make it free. Removing the app is the only option that brings its cost to zero, and it’s the one I see used least.
Start with an honest inventory. Intune’s discovered apps and the software inventory in Defender Vulnerability Management will both tell you more than you want to know. Then go through the usual suspects.
Browsers. Edge is there anyway. Is Chrome on every device because a business app needs it, or because people installed it in 2018 and nobody asked? Each extra browser brings its own release cadence, its own policy set and its own extension store to govern. If one web app really needs Chrome, give Chrome to the people who use that app.
Archive tools. Windows 11 has opened RAR, 7z and tar archives natively since version 23H2, using the open-source libarchive library. Meanwhile, both classic archive tools landed in the CISA KEV catalogue in 2025: 7-Zip with a Mark-of-the-Web bypass, CVE-2025-0411, and WinRAR with a path traversal flaw, CVE-2025-8088. Neither updates itself silently, so they stay vulnerable until somebody patches them. The catch is that the built-in support can’t handle password-protected archives. If a team exchanges encrypted archives with a partner, they keep a tool. Everyone else probably doesn’t need one.
PDF tools. Edge reads and annotates PDFs. Acrobat is still the right tool for people who fill complex forms or sign documents for a living, and that’s usually a much smaller group than the install count suggests.
You get the gospel, right?
None of this is technically hard. The hard part is ownership. An app without a named business owner has nobody to ask whether it’s still needed, nobody to test it, and nobody to say no when it should go. A simple rule helps: no owner, no app.2 It also gives you the short list of testers from the previous section for free.
Automation, and the keys that come with it#
Whatever survives consolidation still needs patching, and for most of it automation is the only realistic answer. TPP tools watch vendor releases, package them and publish them to Intune. Microsoft’s own Enterprise App Management does the same from a curated catalogue, with a target of 80 to 90% of updates available within 24 hours. Since July 2026 it’s included in Microsoft 365 E5, which changes the buying conversation for a lot of organisations.
The price is a new link between the software vendor and your devices, and whatever comes through it installs as SYSTEM everywhere. I’ll look at the identity side of that in the next post: which permissions such a tool needs, which ones I wouldn’t grant, and why a vendor-held credential is a different risk from your own. Here I only want to add the supply-chain side.
Supply-chain incidents don’t all look alike, and a patching pipeline helps against some of them and not others. When 3CX shipped a trojanised but properly signed installer in 2023, every check passed, and a fast pipeline would only have delivered the problem quicker. When the Notepad++ updater was hijacked in 2025, a central pipeline with the in-app updater switched off would have protected you. And the trojanised KeePass builds that WithSecure found reached people through malicious search ads and look-alike domains, which a catalogue sourcing from the official URL avoids. So a patching tool moves risk around as much as it adds it, and it concentrates what’s left in one place.
Enterprise App Management has one limit worth knowing before you switch on auto-update. Microsoft states plainly that there are no rollout rings: a new version goes to all targeted devices at once, and there’s no rollback. If Microsoft finds a malicious version, it removes it from the catalogue and notifies you, but finding and fixing the affected devices is your job. You can use the guided supersedence workflow instead and review each update first, which brings you straight back to the ring problem from above.
From an effort question to a risk question#
The TPP discussions I’ve been part of were mostly about effort and money. How many packaging hours do we save, what does the licence cost, at what portfolio size does it pay off? Reasonable questions, and once the portfolio is big enough, the answer is usually yes.
That calculation leaves out the part that has changed. Bringing in TPP is now a risk decision in both directions. Without it, you accept that some apps stay vulnerable for weeks, in a world where exploitation starts before the patch. With it, you accept a new, concentrated delivery channel to every device you own. Neither risk is zero, so somebody has to decide which one they’d rather carry, and for which apps.
Gartner’s 2027 Planning Guide for the Digital Workplace proposes four update tiers for this (Table 1, “Application Update Tiers”), and I find them a useful starting point. Here’s how I’d place common applications in a Swiss bank. Open a row for the details.
Tier 1Google ChromeBrowser
- Vendor
- Update mechanism
- Google Update, frequent security releases
- Enterprise controls
- Extended Stable channel; policies to pin a target version
- Embedded components
- Chromium, V8
- Supply chain and exploitation
- Several in-the-wild zero-days per year
- Regulated estate
- Extended Stable plus a documented pin-and-rollback procedure as a pre-approved standard change
Tier 1Microsoft EdgeBrowser
- Vendor
- Microsoft
- Update mechanism
- Edge Update
- Enterprise controls
- Extended Stable channel; TargetVersionPrefix and RollbackToTargetVersion policies
- Embedded components
- Chromium, V8
- Supply chain and exploitation
- Shares most Chromium zero-days
- Regulated estate
- Same approach as Chrome
Tier 1Mozilla Firefox ESRBrowser
- Vendor
- Mozilla
- Update mechanism
- Built-in updater or managed MSI
- Enterprise controls
- ESR channel; enterprise policy can disable app updates
- Embedded components
- Gecko
- Regulated estate
- ESR fits regulated change management better than the rapid release channel
Tier 1Edge WebView2 RuntimeRuntime
- Vendor
- Microsoft
- Update mechanism
- Evergreen mode updates automatically with Edge
- Enterprise controls
- Apps may instead ship a Fixed Version copy that never updates itself
- Embedded components
- Chromium engine behind new Teams, new Outlook and many line-of-business apps
- Supply chain and exploitation
- Fixed Version copies inside apps are invisible to patch catalogs
- Regulated estate
- Component inventory matters more than app inventory here
Tier 1Microsoft Teams (new)Collaboration
- Vendor
- Microsoft
- Update mechanism
- Updated by Microsoft
- Enterprise controls
- Update timing managed by Microsoft
- Embedded components
- WebView2
- Regulated estate
- Tier 1 by force: you can't stage it, so document it as a vendor-managed exception
Tier 1Zoom WorkplaceCollaboration
- Vendor
- Zoom
- Update mechanism
- Built-in auto-update
- Supply chain and exploitation
- Processes untrusted content from external meetings
- Regulated estate
- Tier 1 rather than Tier 2 because of the external exposure
Tier 27-ZipUtility
- Vendor
- Igor Pavlov
- Update mechanism
- No auto-updater
- Enterprise controls
- Patching tool or manual
- Supply chain and exploitation
- CVE-2025-0411 Mark-of-the-Web bypass, exploited in the wild
- Regulated estate
- Removal candidate: Windows 11 opens 7z archives natively
Tier 2WinRARUtility
- Vendor
- RARLAB
- Update mechanism
- No silent auto-update
- Enterprise controls
- Patching tool or manual
- Supply chain and exploitation
- CVE-2023-38831 and CVE-2025-8088, both exploited in the wild
- Regulated estate
- Removal candidate
Tier 2Notepad++Utility
- Vendor
- Don Ho
- Update mechanism
- Built-in updater (WinGUp)
- Enterprise controls
- Updater can be disabled
- Supply chain and exploitation
- Update mechanism hijacked for months, disclosed February 2026
- Regulated estate
- Disable the built-in updater and patch through a vetted channel
Tier 2Adobe Acrobat ReaderDocuments
- Vendor
- Adobe
- Update mechanism
- Adobe updater
- Enterprise controls
- Updater can be disabled by policy
- Supply chain and exploitation
- Long history of exploited PDF parser flaws
- Regulated estate
- Move to Tier 3 if it is part of a signing or document management workflow
Tier 2VLC media playerUtility
- Vendor
- VideoLAN
- Update mechanism
- Built-in updater
- Enterprise controls
- Updater can be disabled
- Embedded components
- Codec libraries
- Regulated estate
- Ask first whether it is needed on a bank workstation at all
Tier 2PuTTYAdmin tool
- Vendor
- Simon Tatham
- Update mechanism
- No auto-updater
- Enterprise controls
- Patching tool or manual
- Supply chain and exploitation
- CVE-2024-31497: private key recovery for NIST P-521 keys
- Regulated estate
- Small admin population; Windows has a built-in OpenSSH client
Tier 2KeePassCredentials
- Vendor
- Dominik Reichl
- Update mechanism
- Update check, manual install
- Enterprise controls
- Patching tool
- Supply chain and exploitation
- Trojanised KeePass builds spread through malicious ads (KeeLoader)
- Regulated estate
- Sourcing from the official URL is a real gain here; arguably Tier 3 given what it holds
Tier 2.NET runtimes and VC++ RedistributablesRuntime
- Vendor
- Microsoft
- Update mechanism
- Microsoft Update or patching tool
- Enterprise controls
- Installed side by side
- Supply chain and exploitation
- Old versions stay installed next to new ones
- Regulated estate
- Removing superseded versions is the hard part, not updating
Tier 2Git for WindowsDeveloper
- Vendor
- Git for Windows project
- Update mechanism
- Optional update check
- Enterprise controls
- Patching tool
- Embedded components
- OpenSSL, curl, bash
- Regulated estate
- Developer population only
Tier 3Microsoft 365 AppsProductivity suite
- Vendor
- Microsoft
- Update mechanism
- Click-to-Run update channels
- Enterprise controls
- Monthly Enterprise or Semi-Annual Enterprise channel
- Supply chain and exploitation
- Macros, add-ins and embedded objects
- Regulated estate
- Semi-Annual is common in banks; it ties Tier 4 Excel models to the suite's pace
Tier 3Windows 11 quality updatesOperating system
- Vendor
- Microsoft
- Update mechanism
- Windows Update for Business or Windows Autopatch
- Enterprise controls
- Rings, expedited quality updates
- Regulated estate
- Ring reports double as audit evidence
Tier 3Drivers and firmwarePlatform
- Vendor
- Dell, HP, Lenovo
- Update mechanism
- Windows Update driver management or OEM tools
- Enterprise controls
- Driver approvals in Intune
- Supply chain and exploitation
- Failed boots and BitLocker recovery prompts after UEFI updates
- Regulated estate
- UEFI updates are arguably Tier 4
Tier 3Java runtimeRuntime
- Vendor
- Eclipse Temurin, Oracle
- Update mechanism
- Manual or patching tool
- Enterprise controls
- Version pinned per business app
- Embedded components
- Often bundled privately inside business apps
- Regulated estate
- Bundled copies need their own inventory
Tier 3SAP GUI for WindowsERP client
- Vendor
- SAP
- Update mechanism
- SAP installation server
- Enterprise controls
- Release aligned with the backend
- Regulated estate
- Test against the backend support package level
Tier 3Citrix Workspace app, Omnissa Horizon ClientVDI access
- Vendor
- Citrix, Omnissa
- Update mechanism
- Built-in or managed
- Enterprise controls
- Must stay compatible with the server side
- Regulated estate
- A broken client locks out every VDI user at once
Tier 3VPN and SSE clientsConnectivity
- Vendor
- Microsoft, Zscaler, Palo Alto, Cisco
- Update mechanism
- Often driven from the vendor portal
- Enterprise controls
- Vendor-side upgrade policies
- Supply chain and exploitation
- Mass exploitation has hit gateways more than clients
- Regulated estate
- A broken client takes the remote workforce offline; ring carefully
Tier 3Electron appsCollaboration and tools
- Vendor
- Slack, Postman and many more
- Update mechanism
- Per-user self-update into the user profile
- Enterprise controls
- Machine-wide installers where offered
- Embedded components
- Bundled Chromium, often behind upstream
- Supply chain and exploitation
- User-context installs are invisible to device-context tools
- Regulated estate
- The same inventory gap as PHP bundled in appliances
Tier 3Visual Studio CodeDeveloper
- Vendor
- Microsoft
- Update mechanism
- Built-in auto-update
- Enterprise controls
- Policy settings
- Embedded components
- Electron
- Supply chain and exploitation
- Malicious marketplace extensions are the bigger supply-chain risk
- Regulated estate
- Govern the extensions, not only the editor
Tier 3Node.js and PythonDeveloper
- Vendor
- Community
- Update mechanism
- Manual or patching tool
- Enterprise controls
- Version managers
- Supply chain and exploitation
- Package ecosystems, such as the npm worm campaigns of 2025
- Regulated estate
- A patching tool updates the runtime, never the packages
Tier 4Core banking front-endsCore banking
- Vendor
- Core banking vendors
- Update mechanism
- Vendor release cycle
- Enterprise controls
- Bank release management
- Regulated estate
- Tightly coupled to the backend; formal change evidence required
Tier 4Excel models and add-insEnd-user computing
- Vendor
- Built in-house
- Update mechanism
- Bound to the Microsoft 365 Apps channel
- Enterprise controls
- Regression tests per Office build
- Embedded components
- VBA, COM add-ins
- Regulated estate
- A Tier 4 dependency that slows down a Tier 3 suite
Tier 4Market data terminalsTrading
- Vendor
- Bloomberg, LSEG Workspace
- Update mechanism
- Largely vendor-driven
- Enterprise controls
- Limited client-side control
- Regulated estate
- Mission-critical but outside your release control; document it as such
Tier 4CAD and engineering softwareEngineering
- Vendor
- Autodesk, Dassault
- Update mechanism
- Vendor installers
- Enterprise controls
- Manual
- Regulated estate
- Gartner's own example; rare in banks
OutsideEDR and security agentsSecurity
- Vendor
- Microsoft Defender, CrowdStrike
- Update mechanism
- Agent updates plus frequent content updates
- Enterprise controls
- Sensor version policies; content-update controls vary by vendor
- Embedded components
- Kernel components
- Supply chain and exploitation
- CrowdStrike channel-file outage, July 2024
- Regulated estate
- Content updates can bypass your rings; ask for staged controls in the contract
OutsideIntune Management ExtensionManagement
- Vendor
- Microsoft
- Update mechanism
- Updates itself
- Enterprise controls
- None
- Regulated estate
- The trust anchor of the whole model; protect the management plane instead
- No applications match this filter.
Tier model after Gartner, 2027 Planning Guide for the Digital Workplace. Placements are my examples, not Gartner's.
Tier 1 is for apps where the vendor’s own auto-update is faster than anything you could build: browsers, conferencing clients, the WebView2 runtime. You can’t stage the new Teams anyway, so write it down as a vendor-managed exception instead of pretending otherwise. Tier 2 is the long tail of utilities, where a TPP tool, a 24 to 48-hour canary ring and the silence-means-go rule from earlier do the job. Tier 3 is core business software, which goes through deployment rings while telemetry watches for problems.
Tier 4 is where a broken update stops a business process. On the 30th of the month, Adele Vance, the bank’s endpoint engineer, gets a call from finance. Their consolidation model relies on an Excel add-in, the latest Microsoft 365 Apps build broke it, and the month-end close is slipping. Nobody was hacked, and the impact is still real. That add-in also reads the most sensitive numbers in the building, which makes it an attractive target for a supply-chain attack. Business impact and data sensitivity tend to point at the same apps, which is convenient. It also shows how one Tier 4 dependency can slow down a whole Tier 3 suite.
Tier 4 apps still get updated, just deliberately: tested by a named person from the business, with an agreed deadline and a maintenance window. Some are outside your control entirely, like market data terminals that the vendor updates on its own schedule. Those go on the exception list too.
Keep Tier 4 short. If a third of your portfolio ends up there, that’s the old process again, with an extra licence on top.
You’ll still be late sometimes#
A smaller portfolio and a fast pipeline won’t make you fast enough every time. If exploitation starts before the patch exists, there are days when nobody is on time. So the other half of the job is limiting what a late patch can cost you: attack surface reduction rules, App Control for Business, and stricter settings on the devices that matter most, even when users notice. Those controls come with real user impact, and they deserve more than a paragraph at the end of this post. I’ll come back to them in a separate one.

