Skip to main content
This document is for:
Invicti Enterprise on-demand, Invicti Enterprise on-premises

How Invicti approaches CISA BOD

The Cybersecurity and Infrastructure Security Agency (CISA) Binding Operational Directive (BOD) 26-04 asks US federal civilian agencies to prioritize vulnerability fixes based on risk rather than severity score alone. To help you follow it, Invicti Enterprise lets you:

  • Set the Internet Exposed value on every target. You mark each target as internet-facing or not, which covers the directive's asset exposure factor.
  • View CISA's own risk information for each Common Vulnerabilities and Exposures (CVE). For known vulnerabilities found in third-party components, Invicti shows CISA's Stakeholder-Specific Vulnerability Categorization (SSVC) values (Exploitation, Automatable, Technical Impact), whether the CVE is on CISA's Known Exploited Vulnerabilities (KEV) list, and the Common Vulnerability Scoring System (CVSS) vector.

You can then apply the directive's decision model and deadlines in your own process.

compatibility

This feature is available from Invicti Enterprise 26.11.0.

CISA BOD 26-04 model overview​

The directive replaces "patch by severity score" with a risk model built on four questions about each vulnerability. CISA provides three of the four factors. Asset exposure is dependent on your environment, so you need to set this yourself.

The following table shows each factor, who supplies the answer, and where it appears in Invicti.

CISA BOD 26-04 factorQuestion it answersWho provides itWhere it appears in Invicti
Asset exposureCan an unauthenticated user reach the asset from a public network?YouTarget setting: Internet Exposed
KEV statusIs the CVE being exploited in the wild today?CISA, delivered by InvictiKnown Issues: CISA KEV section
Exploit automationCan an attacker exploit it automatically, at scale?CISA, delivered by InvictiKnown Issues: SSVC > Automatable
Technical impactHow much control does exploitation give an attacker?CISA, delivered by InvictiKnown Issues: SSVC > Technical Impact

Set and view the Internet exposed value on targets​

The Internet Exposed setting for a target tells Invicti whether unauthenticated users can reach a target over public networks. This is the CISA BOD 26-04 definition of asset exposure. You set it when you add a target or edit an existing one.

The setting has three values:

  • Not Specified (default)
  • Yes: The target is accessible to unauthenticated users through public networks.
  • No: The target isn't accessible to unauthenticated users through public networks.
important

All existing targets start as Not Specified after the upgrade. Invicti doesn't assume anything on your behalf. If you follow CISA BOD 26-04, review your targets and set each one to Yes or No. If you have many targets, you can set the values through the API. For more information, refer to Use the API.

If the exposure of a website changes, for example when you publish an internal application, update the setting. CISA BOD 26-04 expects priorities to be recalculated when exposure changes.

Invicti displays the Internet Exposed value in the following places:

WhereWhat you see
Targets pageAn Internet Exposed column. A hyphen (-) indicates the default setting Not Specified.
Issues pageAn Internet Exposed column. A hyphen (-) indicates the default setting Not Specified.
Issue Details pageAn Internet Exposed row.
Scan Summary and scan reportThe value of the target's Internet Exposed setting, if the value Yes or No is set on the target.
Issues CSV exportAn Internet Exposed column, so you can use the data in your own tracking. An empty cell indicates the default setting Not Specified.

You can also read and set the value through the API. For more information, refer to Use the API.

View CISA risk data for CVEs​

When Invicti finds an outdated component with known vulnerabilities, for example an old PHP or Apache version, it lists each CVE under Known Issues. Each CVE also shows the information that CISA publishes about it.

The values come directly from CISA: SSVC from CISA's Vulnrichment program, KEV status from the KEV catalog, and CVSS from the CVE records. Invicti packages this data into the vulnerability database that already ships and updates with the scanner. This means:

  • There's nothing to set up. You don't need to configure a CISA feed or integration.
  • It works on-premises and in restricted networks, because the scanner doesn't need to contact CISA directly.
  • Invicti doesn't reinterpret CISA's data. It shows the values exactly as CISA publishes them.

Each CVE shows the information that CISA publishes about it:

FieldWhat it meansPossible values
CVSSThe industry-standard severity vector for the CVE. Invicti shows v4 or v3 when available, with older versions as a fallback.A CVSS vector string
SSVC: ExploitationWhether anyone has exploited this vulnerability, according to CISA.active, poc (a proof of concept exists), none
SSVC: AutomatableWhether an attacker can exploit it automatically, without manual steps.yes, no
SSVC: Technical ImpactWhether the attacker gets full or partial control of the affected component if they exploit it.total, partial
CISA KEVWhether the CVE is in CISA's Known Exploited Vulnerabilities catalog, and the date CISA added it. If CISA requires forensic triage for the CVE, Invicti shows that too.Listed with the date added. Not shown when the CVE isn't listed.

For example, CVE-2012-1823, a PHP command injection vulnerability, shows a CVSS vector, the SSVC values Exploitation active, Automatable yes, and Technical Impact total, and a CISA KEV entry with the date CISA added it.

note

CISA hasn't scored every CVE yet. When a CVE has no CISA data, Invicti shows only the CVSS vector and leaves out the empty SSVC and KEV sections. When CISA adds data for it, the data arrives with regular vulnerability database updates.

The CISA risk data for CVEs appears on the Issue Details page and wherever Known Issues are already listed, such as the Technical Report.

CISA BOD 26-04 focuses on CVEs, so SSVC and KEV apply to Known Issues (CVE-based findings). Invicti also displays the Internet Exposed setting for custom-code findings.

Use the API​

If you automate through the API, for example to set the exposure value on hundreds of targets at once or to feed findings into your own tracking, you can make these changes using the existing REST API (version 1.0). There are no new endpoints. Existing endpoints gain a few fields.

Internet exposed setting on targets​

What you want to doEndpointField and behavior
Set the value when you create a targetPOST /api/1.0/websites/newIsInternetExposed: true (Yes) or false (No). If you leave it out, the target starts as Not Specified.
Change the value on an existing targetPOST /api/1.0/websites/update
PUT /api/1.0/websites/{id}
IsInternetExposed: true or false. If you leave it out, Invicti keeps the current value, so existing scripts keep working unchanged.
Read the valueGET /api/1.0/websites/list
GET /api/1.0/websites/get
IsInternetExposed: true, false, or null (Not Specified).
See the value on findingsGET /api/1.0/issues/allissues
Also todo, waitingforretest, addressedissues, get, and report
WebsiteIsInternetExposed: taken from the target of the issue. true, false, or null.

Because a missing field means "keep the current value," the API can set Yes or No but can't reset a target to Not Specified. You can do that in the user interface.

CISA risk data on CVEs​

Issue responses already include a VersionIssues list with the known CVEs for an outdated component. Each entry now also carries the CISA fields shown in the user interface.

FieldMeaningValues
CvssCVSS vector (best available: v3.x, or v2 as a fallback)Vector string
CvssV4CVSS v4 vector, when publishedVector string or empty
ExploitationSSVC: Exploitationactive, poc, none, or empty
AutomatableSSVC: Automatableyes, no, or empty
TechnicalImpactSSVC: Technical Impacttotal, partial, or empty
IsKevListed in the CISA KEV catalogtrue, false
KevDateAddedDate CISA added the CVE to KEVDate or empty
ForensicTriageCISA flags the CVE for forensic triagetrue, false

The following shortened example shows what you might see for an issue in the API response (values for CVE-2012-1823):

{
"WebsiteName": "php",
"WebsiteIsInternetExposed": true,
"VersionIssues": [
{
"Title": "PHP Improper Neutralization ... (Command Injection) Vulnerability",
"ExternalReferences": "CVE-2012-1823",
"Cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"CvssV4": null,
"Exploitation": "active",
"Automatable": "yes",
"TechnicalImpact": "total",
"IsKev": true,
"KevDateAdded": "2022-03-25T00:00:00",
"ForensicTriage": false
}
]
}

Need help?​

Invicti Support team is ready to provide you with technical help. Go to Help Center

Was this page useful?