Guide 024 workflow

How to use CISA KEV without treating it as the whole backlog

Use CISA KEV to focus vulnerability response while confirming affected assets, ownership and applicability, without treating the catalog as your entire backlog.

Short answer: Treat a match to CISA's Known Exploited Vulnerabilities (KEV) catalog as a strong reason to investigate and remediate an applicable CVE quickly. Match the entry to the actual product, affected version, configuration, and deployed asset; choose the advisory's supported fix or containment; assign an owner; and verify the change. Keep non-KEV application flaws and unconfirmed exposures in the same decision process. KEV is evidence of exploitation of a CVE in the wild, not evidence that your service has been attacked, and absence from the catalog is not a safety verdict.

This workflow is for an AppSec lead who needs a repeatable daily check without flooding engineering with catalog rows. It applies to CVE-linked products and dependencies; a bespoke object-authorization bug may have no CVE and still be your top issue.

What KEV tells you, and what it does not

CISA describes additions to KEV as based on evidence of active exploitation (CISA alert). The catalog is a living list, and CISA publishes machine-readable JSON and CSV data. Its official data schema includes the CVE ID, vendor, product, date added, required action, and due date (KEV schema). A match tells you the named vulnerability merits attention. It does not tell you whether your deployed component is affected, whether an attacker can reach the vulnerable feature, or whether compromise has occurred.

The due-date field needs a governing-policy check. CISA's 10 June 2026 announcement of BOD 26-04 describes a new federal risk-based update directive harmonizing earlier directives. Do not treat older BOD 22-01 summaries as current implementation instructions. For your organization, identify the applicable current directive, contract or internal policy and its scope before assigning an obligation. A catalog date alone does not establish a private company's legal deadline. This article is an intake workflow, not a federal compliance interpretation.

Worked case: one match, one false match, one urgent non-match

Illustrative portfolio; no live systems, CVEs, incidents, or exploitation are claimed. A B2B platform has a customer web app, a report worker, and an old administrative appliance in inventory. For clarity, the rows below use descriptions rather than real CVE numbers.

Intake item KEV and inventory evidence Missing fact Next action
A: affected report-rendering library CVE The exact CVE appears in KEV. A repository lockfile lists an affected version. Does the deployed report worker contain that build, and can untrusted document content reach the vulnerable function? Platform owner checks artifact and call path today; prepare vendor-supported update or containment.
B: appliance CVE KEV lists a similarly named product. An old inventory row suggests that product existed last year. Is any affected model/version still deployed? Asset owner confirms current presence. Do not open a patch ticket for a retired asset, but retain the inventory correction.
C: customer account authorization defect No CVE and no KEV entry. Source review shows a plausible cross-account object read, with a downstream policy still unverified. Does the production policy block the read? AppSec and service owner investigate immediately; prioritize the verified boundary issue based on customer impact, not KEV status.

The useful output is three named actions, not “one KEV vulnerability.” A can become an urgent fix if the affected code is deployed and reachable. B may close as not applicable after current inventory evidence. C can outrank both if the cross-account path is verified. Until then, it is an investigation with a deadline, not a confirmed breach or a low-risk non-KEV item.

A daily KEV-to-action workflow

1. Ingest changes from a source you can trace

Pull the canonical CISA catalog or its CISA-maintained GitHub mirror, which says it updates shortly after the source catalog. Store the retrieval time and catalog record version or hash. Compare CVE IDs to your last reviewed set, but also detect changed entries. Do not assume the mirror and canonical page are identical at the exact second of a new addition. If you cannot fetch a current catalog, flag the feed as stale and keep the last known state visible.

Validate the fetched document before replacing the previous snapshot: check required fields, parse failures and unexpected count changes, then retain the last successful snapshot if intake fails. Preserve unfamiliar fields for later interpretation rather than silently discarding them. A new row should trigger an applicability check; it does not by itself prove an affected deployment.

2. Work the join with an evidence packet

The following is catalog-shaped teaching data, not a real KEV entry, CVE, product or advisory. EXERCISE-A is deliberately not a CVE identifier and must never be submitted as vulnerability intelligence.

external record: EXERCISE-A; vendor Cedar Tools; product Report Engine
catalog snapshot: K1, retrieved Monday 09:00; required action: vendor update
vendor advisory revision 1: affected parser in versions 3.0–3.4, import mode
asset record: worker W7, artifact D7, Cedar Tools Report Engine 3.2
feature record: W7 import mode enabled; customer uploads reach parser

The filled action row is: affected and deployed, supported input path; report-worker owner prepares the vendor-supported update and verifies the resulting artifact. The external exploitation signal raises urgency, but nothing in this packet proves W7 was attacked.

An inventory row for “Cedar Reporting Engine” from a different vendor fails the identity join even if its version is 3.2. Record the rejected match with product coordinates; do not create a patch task from a fuzzy name. Conversely, an asset with the correct identity but no artifact version stays unresolved rather than being discarded because the join cannot finish.

3. Handle changed advice and a stale feed

Suppose another worker W8 was excluded because advisory revision 1 said its export-only mode was unaffected. Revision 2 adds that mode to the affected conditions. Reopen W8's applicability review, link the old exclusion and record the changed advisory field. Its earlier decision was scoped to the information then available; a new catalog row is not required for vendor advice to change.

On Tuesday the catalog fetch fails. The dashboard should say “last successful catalog retrieval Monday 09:00,” retain K1 and continue already assigned actions. “No new matches” would be misleading because no fresh comparison occurred. Assign the intake owner to restore the feed and reconcile missed additions or changes.

Meanwhile, the custom authorization flaw C is independently approved. It has no CVE, so this CVE-based join cannot represent it. Keep it eligible for the same engineering capacity decision; catalog intake is one source of work. The output of this procedure is a dated applicability row and owner, not an automatically superior priority for every imported item.

FIRST's EPSS and CVSS answer different external prediction and severity questions. Keep those fields separate from the product/advisory/asset evidence above.

4. Choose the response and a review trigger

For a deployed affected product, identify a vendor-supported update or specific containment, the engineering owner, a date, and the verification evidence. Reachability evidence helps set urgency, but an incomplete attack-path investigation need not delay a supported, compatible security update. If a fix cannot ship promptly, record the residual exposure and who accepted the temporary plan. A permanent “exception” without a recheck date is not a response. NIST's enterprise patch management guide treats identifying, prioritizing, acquiring, installing, and verifying updates as an operational process.

For an unresolved match, assign a short investigation rather than placing it at the bottom of the queue. For a proven non-applicable match, retain the exact evidence and the condition under which it must be reviewed again: a product version change, new deployment, changed feature flag, or vendor advisory update. For non-KEV application findings, continue the normal impact and path review. No catalog can enumerate every custom logic flaw in your code.

Reconcile catalog matches with the asset owner

A successful data join is the start of an ownership conversation. The report worker might belong to one repository team while platform controls its image and another team supplies documents. Give the named response owner the complete applicability packet and ask them to accept the next action. A catalog row assigned to a generic security queue can remain untouched even when the matching logic is correct.

For W7, the handoff should identify the exact artifact and affected operation, the vendor-supported response being considered and the evidence needed to verify deployment. For the retired appliance, the deliverable is an inventory correction supported by current evidence. For the custom authorization issue, the deliverable is its own path decision. These outcomes can share a weekly planning view without sharing the same technical status.

Keep match counts separate from asset counts. One catalog entry may match several running releases; several entries may affect one product update. Reporting only “three matches” conceals whether the team needs one coordinated update or three unrelated owner decisions. Retain the links between external records, assets and work items so the summary can be reconstructed.

An incomplete inventory deserves a visible branch. If the owner cannot identify a deployed version, assign a bounded artifact-reconciliation task and consider a proportionate protective update. Do not discard the match as false because the inventory lacks the field required to complete it. Equally, a retired inventory row should not create a permanent open vulnerability once current evidence establishes that the asset is gone from the assessed scope.

After a feed outage, reconcile from the last successful snapshot through the next valid one. Review changed entries and vendor advice as well as newly added IDs. Record the missed interval in the intake history. Restoring the fetch does not retroactively make Tuesday's dashboard current, and it should not erase already assigned W7 work.

The resulting weekly statement can be plain: “W7 update in progress; appliance match rejected after current inventory review; one unresolved product version owned by platform; custom authorization repair remains the highest customer-data priority.” That is a useful operational result from KEV without treating the catalog as the entire application-security program.

5. Verify and report without overstating

After remediation, compare the deployed version or effective mitigation with the advisory and retest the relevant path in an authorized environment when needed. A dependency update in a branch is not proof that production changed. A lack of observed attack is not proof that the vulnerable window was harmless. Report fixed, contained with residual risk, not applicable with evidence, or inconclusive. Keep the underlying evidence and as-of date so a later reviewer can understand why the call was made.

The weekly summary should answer: How many newly added KEV entries matched a current asset? How many remain unresolved because of inventory or exposure gaps? Which affected assets have a named fix or containment owner? Which deadlines arise from law, contract, or company policy? Keep counts of candidates separate from counts of verified affected assets.

Today, sample the latest KEV additions against one production service and fill the four applicability states. Then compare its top item with the broader application-prioritization method. If a high CVSS alert is driving the debate, use the severity-versus-exploitability guide to expose the missing local facts.