How to get your CAB to approve faster JVM patching

Faster JVM patching is mostly a governance problem. How to score criticality, set thresholds and build the evidence a Change Advisory Board can approve.
Patchmageddon Team

Patchmageddon Team

JVM patching & OpenJDK migration specialists

·5 min read

Most proposals to speed up JVM patching fail in the same place, and it isn't technical. The engineering team shows that a same-major security update is low risk, that rollout can be progressive, and that rollback is quick. Then the proposal goes to the Change Advisory Board and stalls.

The CAB isn't being obstructive. Its job is to make sure changes are understood, owned and reversible, and "we'd like to test less" doesn't sound like any of those. The way through is to give the CAB a better process to approve, not to argue that the current one is too slow.

Reframe the ask

"Skip regression testing for these apps" is a hard sell to a risk function. It describes removing a control.

"For a defined tier of applications, replace pre-deployment regression testing with fast detection and fast rollback" is a different proposal. It swaps one control for another and can be measured. You can show how quickly a bad patch would be detected, how quickly it would be reversed, and what evidence gets recorded along the way. The engineering case is set out in fast detection and rollback instead of regression testing.

The rest of this article covers what makes that proposal approvable.

Criticality has to be scored, not self-declared

The first thing a CAB will ask is: which applications are in the fast tier, and who decided?

If the answer is "the app owners told us," the proposal won't survive. App owners have every reason to call their app non-critical, since it means fewer approvals and less paperwork, and they're rarely the ones who bear the consequences of being wrong.

Classification needs to be a documented, repeatable scoring process. The dimensions we use include:

  • Revenue and customer impact: what breaks, for whom, and the cost per hour of downtime
  • Blast radius: shared infrastructure, shared databases or a shared message bus with critical systems
  • Regulatory scope: whether the app handles data covered by PCI DSS, HIPAA, SOX or similar. Many "internal tools" do
  • SLA and SLO commitments: whether one exists and at what tier
  • Risk-acceptor authority: who can accept the risk, and whether they actually have the authority to do so

Some of these can be derived from discovery data (exposure, dependencies, existing SLA metadata). Others need a short, standardized owner interview. Using the same fixed questions for every app is what makes fifty classifications consistent with each other.

How you weight the dimensions is a decision for your organization. What matters to the CAB is that the weights are documented, applied the same way every time, and reviewable.

Set thresholds before you score anything

Score bands should route each app to a tier: fast-track patching, a higher-assurance process for business-critical apps, or manual review for scores near a boundary.

Define those thresholds before scoring the first application. Thresholds set after you've seen the scores look like rationalization, even when they aren't. Thresholds agreed in advance and written down are what make the routing defensible to an auditor.

Use the standard change model

ITIL already has a concept that fits: the standard change, a low-risk, well-understood change that is pre-authorized and follows a documented procedure. You don't need the CAB to approve each quarterly JVM patch on each app. You need it to approve a standard change model once:

ElementWhat the CAB approves
ScopeSame-major JVM security updates only (for example 17.0.x to a later 17.0.x), not major upgrades or vendor swaps
Eligible appsApps scored into the fast-track tier, with evidence on file
ProcedureProgressive rollout, automated health gates, defined rollback
ConditionsWhat forces an app back to normal change: failed gate, score change, incident
ReviewHow often the model and the tier list are re-examined

Major version upgrades and vendor migrations should stay out of the standard change. They carry different risks (see JVM patch failure modes), and including them weakens the case for the low-risk category.

The evidence pack

Each app in the fast tier should have a record the CAB can inspect at any time, generated from the scoring process rather than written by hand:

  1. Classification rationale: the score, every input behind it, and the threshold it was compared against
  2. Named risk acceptor: a specific person, their role, and confirmation of their authority, with a timestamp
  3. Rollout plan: stages, percentages and hold times
  4. Health gates: the signals checked at each stage and the thresholds that stop the rollout
  5. Rollback procedure: how to reverse the change, how long it takes, and when it was last rehearsed
  6. Rollout evidence: for each patch cycle, which gates were checked, the results and the timestamps

The last item is the one that builds trust over time. After a few quarters, the CAB is no longer approving a theory. It's reviewing a track record.

Re-scoring keeps the tier honest

Criticality isn't permanent. An internal tool becomes customer-facing. A new data flow brings regulated data into scope. An acquisition doubles an app's user base.

Re-score on a fixed schedule (quarterly is common) and on triggers such as:

  • A significant change in traffic or user base
  • A new regulated data classification or data flow
  • An incident involving the application
  • An M&A event or reorganization that changes ownership
  • A new critical CVE affecting the app's dependencies

Without re-scoring, the classification decays and the CAB's confidence goes with it. Continuous monitoring can raise these triggers automatically; see drift monitoring.

Give people a way to disagree

Some app owners will think their tier is wrong in one direction or the other. Provide a defined dispute and escalation path: who reviews it, what evidence they need, and how quickly they respond. Without one, every disagreement turns into an argument outside the process, which is exactly what a CAB doesn't want to see.

Start small

Don't ask for the whole estate at once. Propose a pilot:

  • A few dozen clearly low-criticality applications
  • One quarterly patch cycle
  • A report back to the CAB with the rollout evidence, any rollbacks, and the time saved

A successful pilot is the strongest argument for expanding the tier.

Bring the CAB its own data. If the discovery phase shows how many JVMs are running with long-open critical CVEs, the risk of patching slowly is on the table next to the risk of patching fast.

What to do next

Our approach describes the classification and governance model we use, and Rapid Patch is the service built on it. If you don't yet know which applications you'd be classifying, start with JVM discovery.

#cab#itil#change-management#risk-classification#governance
Patchmageddon Team

Patchmageddon Team

The Patchmageddon team helps enterprises find every JVM in their estate, patch it on a sane cadence, and stop paying for Oracle Java they don't need.

Find out what's actually running in your estate

A Quick Scan inventories the JVMs in one business unit in days. You get versions, vendors, patch levels, CVE exposure and Oracle licensing exposure, with no production changes and no CAB ticket.