Showing posts with label CVSS. Show all posts
Showing posts with label CVSS. Show all posts

Dec 8, 2022

CISA KEV Catalog Hits 860 After 13 Months

Top 10 vendors and vulnerable products

CISA starts to share KEV catalog to public back in Nov 3, 2021. There are total of 860 cve been added into KEV catalog after 13 months (849 cve by Nov 3).

Too many organizations are relying on the Common Vulnerability Scoring System, developed at FIRST.org, to decide when it is time to patch.Vulnerabilities with a Low/Medium CVSS score are often ignored completely or deferred to another time, while a vulnerability with a 7.0 and above generates a hair-on-fire “patch now” event.

And this is the reason why patches just don’t get applied in a timely fashion all the time.

It is time we reexamine each of our vulnerability management programs to assure we are not letting impactful and known CVEs continue to exist in our networks long past the time that vendor fixes are available. We need to evolve our practices to incorporate capabilities such as KEV into our operational vulnerability analysis decision making.

The screenshot above shows the top 10 vulnerable products and the vendors within the KEV catalog. And I have shared the script at GitHub back in April 2022.


Links:

Sep 23, 2022

REST API Access to NVD at NIST

NVD - National Vulnerability Database

NIST - National Institute of Standards and Technology

The NVD is the U.S. government repository of standards based vulnerability management data represented using the Security Content Automation Protocol (SCAP). This data enables automation of vulnerability management, security measurement, and compliance. The NVD includes databases of security checklist references, security-related software flaws, misconfigurations, product names, and impact metrics.


There is a vulnerability API access to query NVD directly. It is available at Vulnerability API documentation. An example to retrieve CVE information in JSON format can be access at:

https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2022-1388


At the vulnerability metrics page, NVD is providing 2 CVSS calculators: CVSS_v2 and CVSS_v3.1 calculator, for product integration. For examples:

https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?name=CVE-2022-1388

https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?name=CVE-2022-1388


Links:

Aug 18, 2022

Retirement of CVSS v2 and XML Feed

As of July 13th, 2022, NVD will stop generating Vector Strings or Severity Score for CVSS v2. This means the existing CVSS v2 information will remain in the database but the NVD will no longer actively populate CVSS v2 for new CVEs.

This change comes as CISA policies that rely on NVD data fully transition away from CVSS v2. 

Here are the historical of the CVSS version and the timeline.

Timeline CVSS v2 CVSS v3 CVSS v4
2007 - 2014YesNo-
2015 - 2022YesYes-
2022 - nowNo
Yes-
2024 No
Yes(tentatively)

 

As of July 22nd, 2022, XML URLs will be removed from the data feeds page (according to phase 2 of XML retirement plan). 

However, NVD will continue to update the feed and host the URLs. And any automated process that downloads the XML feeds should not be impacted.

Aug 17, 2022

Limitation in EPSS

The EPSS model was initiated in 2019 in parallel with the criticisms of the Common Vulnerability Scoring System (CVSS) in 2018.

EPSS is a measure of exploitability of an CVE in the next 30 days. It is best used when there is no other evidence of active exploitation. 

EPSS should not be treated as a complete picture of risk, but it can be used as one of the inputs into risk analyses.

EPSS version 2, released in February 2022. This latest release has created a lot of excitement around EPSS, especially since improvements to CVSS (version 4) are still being developed.

This blog post at Carnegie Mellon University evaluates the pros and cons of the Exploit Prediction Scoring System (EPSS), which is a data-driven model designed to estimate the probability that software vulnerabilities will be exploited in practice.

The author has a few concerns about EPSS and has raised these concerns. The two general spheres of problems include the problems due to model opacity and problems stemming from the details of data provenance. This means any vulnerability analysis or risk management process cannot rely on EPSS only, and EPSS cannot replace any existing threat intel process by itself. Currently, EPSS v2 is useful in some restricted scenarios only.

EPSS Opacity

The EPSS target audience, development process, and future governance are opaque.

EPSS uses machine learning to predict exploitation probabilities for each CVE ID. This reliance on pre-existence of a CVE ID, is one reason why EPSS is not useful to software suppliers, CSIRTs, and many bug bounty programs. 

Most of those stakeholders need to prioritize vulnerabilities that either do not have public CVE IDs or are types of vulnerabilities that never receive CVE IDs, such as mis-configurations.


See the full post of the article with the link below.


Links:

Aug 14, 2022

Learning about Temporal CVSS Score

CVSS score is commonly used in vulnerability management metrics by which the severity of vulnerabilities can be computed and compared.

CVSS scores range from 0-10, with this numeric rating being composed of three sub groups of metrics (Base, Temporal, Environmental), of which each metric group has several subcomponents.

CVSS score metrics

Base metrics, which are the primary metric group reported in NIST's NVD. It is a public database of CVSS scores for known vulnerabilities. Base metrics do not cange over time, and remain the same throughout the lifetime of a CVE.

Temporal metrics, change over time as a result of activities conducted by both software vendors and hackers. These metrics may or may not be available in NVD. If the vendor has created a patch for public, the temporal score for the CVE will be lower. However, if there are known exploits for a vulnerability, the temporal score will be higher. As the availability of patches and exploit code changes, the underlying attributes of temporal metric will change including the overall CVSS score.

Environmental metrics apply to the specific environment in which a vulnerability exists. And it is specific to each enterprise. These metrics relate to either the business criticality of the asset, or to compensating controls that make an organization susceptible to the vulnerability. 

CVSS Temporal Metrics

According to FIRST, “Temporal metrics measure the current state of exploit techniques or code availability, the existence of any patches or workarounds, or the confidence in the description of a vulnerability.” There are three metrics within this metric group – Exploit Code Maturity, Remediation Level, and Report Confidence.

Temporal Metric: Exploit Code Maturity/5

Exploit code maturity answers the question, “Is this exploit being used in the wild?” Many exploits are only theoretical in nature, and never actually get exploited by adversaries. Others get exploited, but code to operationalize those exploits never gets widely distributed, rendering it unusable to unskilled hackers, who represent the majority.

Exploit Code Maturity is rated at one of five levels: not defined (X), high (H), functional (F), proof-of-concept (P), unproven (U).

Temporal Metric: Remediation Level/5

Remediation level refers to the availability and maturity of a fix or patch for the vulnerability. As remediation code matures, the Temporal score will decreased.

Remediation Level is rated at one of five levels: not defined (X), unavailable (U), workaround (W), temporary fix (T), official fix (O).

Temporal Metric: Report Confidence/4

This metric measures the confidence level that the vulnerability actually exists, as well as the details of the issue. For example, if the vendor publicly acknowledges that a vulnerability exists, there is a very high confidence level that the vulnerability is real.

Report confidence is rated at one of four levels: not defined (X), confirmed (C), reasonable (R), unknown (U).

 

In order to calculate the overall CVSS score, beside getting the Base score, Temporal score must also be accounted for when determining the severity, and priority, of open vulnerabilities.


Links:

Jul 30, 2022

2022-1H State of Vulnerability Intelligence

Half of 10.0 CVSS vulnerabilities reported so far in 2022 scored incorrectly.


Notes:

  • NVD failed to report 27.3% of CVE (11,860 vulns).
  • 52% of all 10.0 CVSS (v2) vulns reported in 2022 are scored incorrectly.
  • CVSS v3.1 is better refined for IoT vulns.
  • Large gap between CVSS model identifies as critical vulnerabilitie that require immediate attention.
  • EPSS aims to address the CVSS model's issue of inaccuracy, and save time in patch management.
  • EPSS model can increase the efficiency of patch management from 5% to 42.5%.


Links:

  • https://flashpoint.io/resources/report/state-of-vulnerability-intelligence-2022-midyear/

Jun 9, 2022

EPSS version 2

EPSS version 2 is out (by Feb 04, 2022).

Exploit Prediction Scoring System (EPSS) is a data-driven effort for estimating the likelihood (probability) that vulnerabilities will be exploited in the wild. It collects ground-truth information such as how often vulnerabilities are being exploited in the wild and comparing that with attributes of each vulnerability.

The goal of EPSS v2 is to estimate the probability of observing exploitation for CVE in the next 30 days.

Objectives:

  1. Centralized (data collection, scoring and API driven)
  2. Performant (outperform other scores and EPSSv1)


Comparing CVSSv3 and EPSS Coverage

We all know select a right remediation strategy is so important. Here, we can compare the remediation strategy and the efficiency, by using different scoring system.

Comparison by Coverage: CVSSv3 Vs EPSSv2

Scoring Strategy Efficiency
Threshold Effort Coverage
CVSS v38.8+253/100050.7%5.0%
EPSS v10.066+93/100051.2%12.9%
EPSS v20.149+47/100050.9%42.5%

With the right strategy, we can balance it against the reality of time,money, and energy needed to remediate.


Links:

Feb 22, 2021

Blindspot in Using CVSS for Vulnerability Prioritization

Just read the article about "Why You Need to Stop Using CVSS for Vulnerability Prioritization" from Tenable.

After using KennaSecurity, I learn that there is vulnerability management blindspot if you are using CVSS for vulnerability prioritization.

A simple scenario here:

The vulnerability scanning tool discovers 2 CVE at an external facing host (Debian OS):  CVE-2020-8617 (cvss:5) and CVE-2020-1472 (cvss:9). 

Conclusion: Asset priority is very important/useful while doing vulnerability prioritization. Make sure your vulnerability management tool does include any form of asset prioritization. 

Jun 1, 2020

CVSS v3.1 Calculator

Common Vulnerability Scoring System (CVSS) version 3.0 was released in June 2015 and was superseded in June 2019 by CVSS version 3.1. 

The CVSS calculator shows the components of the CVSS score for example and allows you to refine the CVSS base score. Please read the CVSS standards guide to fully understand how to score CVSS vulnerabilities and to interpret CVSS scores. The scores are computed in sequence such that the Base Score is used to calculate the Temporal Score and the Temporal Score is used to calculate the Environmental Score.

The CVSS score is commonly used for vulnerability metrics.


Links:

Aug 17, 2019

CVSS != Risk

CVSS does not equal risk; CVSS does not equal risk; CVSS does not equal risk. (We should always repeat at least 3 times for an important thing)

Surprisingly nowadays, there are still Cybersecurity people managing vulnerabilities based on CVSS score, and claim that they are doing risk management. (don't laugh, check with your CISO)

Why a CVSS score is not the same as risk?

Because a CVSS score only helps describe the severity of a vulnerability (CVE) from a technical perspective. 

Then what is a CVSS score?

CVSS stands for Common Vulnerability Scoring System. There are 2 versions of CVSS: CVSS 2.0 and CVSS 3.1. CVSS has 3 metric groups: Base Score, Temporal Score, and Environment Score. Each metric group has own set of metric names.

There is a CVSS Scoring calculator at Common Vulnerability Scoring System Version 3.1 Calculator (first.org) 

Here's a sample of CVSS score: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N

And it is common for only the CVSS Base Score to be used to prioritize how quickly those Cybersecurity team are responding to a new vulnerability. 

(Ask your Cybersecurity team when is the last time they are looking at the Temporal and environment scores)

If CVSS != Risk, then why people using it to manage risk?

IMO, it is not their fault. This is all due to regulatory bodies have built CVSS scores into their compliance schemes, and require remediation of all vulnerabilities above certain Base CVSS score in order to remain compliant. (Yes, I'm talking about PCI-DSS)

So, what's wrong with CVSS score as risk management?

First, CVSS score does not take into account the importance of asset. A same vulnerability should have different priority between a domain controller server and a workstation. 

Secondly, not all vulnerability has CVE and CVSS score. There are may vulnerabilities go far beyond CVE/CVSS. If a vulnerability without an assigned CVE/CVSS, does it mean you can skip the remediation?

Third and I think this is most important. Not every vulnerability is exploitable. Instead of remediating all vulnerabilities based on CVSS score, we should focus on those high/critical and exploitable vulnerabilities. Remediation based on CVSS score is not only unfeasible, it is also take up a lot of resource and probably still an unachievable goal. (remember 80/20 rules)

Forth. The CVSS score provides no accounting for other compensating controls, like firewall and antivirus, and thus it doesn't reflect the actual situation.   

In summary, CVSS != Risk, simply because of the following reasons.

  1. Lack of asset priority.
  2. Only applicable for known vulnerabilities.
  3. Waste of vulnerability remediation effort.
  4. Not accounting for those compensating controls.

Unlike CVSS and other static scoring methods, KennaSecurity provides the context required to understand the true level of risk that vulnerabilites pose to an organization, using a risk score. The purpose of the score is to provide Cybersecurity, IT and infrastructure teams with an understanding of the relative urgency of the vulnerability so that everyone can prioritize the remediation efforts of some over others based on real-world exploitability. 

References:

Jul 30, 2008

Out of Cycle Security Update from Oracle

For the first time since the introduction of its quarterly Critical Patch Update process in 2005, Oracle has released an emergency alert to offer mitigation for a zero-day vulnerability that's been published on the Internet.

The emergency workaround, available here, addresses an unpatched vulnerability that's remotely exploitable without authentication (no username and password required to exploit over the network) and can result in compromising the confidentiality, integrity, and availability of the targeted system.

Oracle's Eric Maurice says the vulnerability carries a CVSS Base Score of 10.0, the maximum severity rating.

This IBM ISS alert provides some technical details:

Oracle WebLogic Server (formerly known as BEA WebLogic Server) is vulnerable to a buffer overflow, caused by improper bounds checking by the Apache Connector. By sending a specially-crafted HTTP POST request, a remote attacker could overflow a buffer and execute arbitrary code on the system or cause the server to crash.

Jun 4, 2007

Magic Numbers or Snake Oil?

The Common Vulnerability Scoring System

Can a single number sum up the full significance of a security vulnerability? The CVSS attempts to prove that it can, but it has its weak points.

The Common Vulnerability Scoring System (CVSS) is a relatively new attempt at consistent vendor-independent ranking of software and system vulnerabilities. Originally a research project by the US National Infrastructure Advisory Council, the CVSS was officially launched in February 2005, and hosted publicly by the Forum for Incident Response and Security Teams (FIRST) from April 2005. By the end of 2006 it had been adopted by 31 organisations and put into operational service by 16 of these, including (significantly) the US-CERT, a primary source of vulnerability information.

The CVSS attempts to reduce the complicated multi-variable problem of security vulnerability ranking to a single numerical index in the range of 0 to 10 (maximum), that can be used in an operational context for such tasks as prioritising patching. It uses a total of 12 input variables each of which can take from two to four alternative pre-determined values. The calculation is broken into three cascaded stages, the first two of which yield visible intermediate results each of which is fed into the following stage. This three-stage process consists of an absolute Base Score calculation that describes ease of access and scale of impact, followed by a Temporal Score calculation that applies a zero to moderate negative bias depending on the current exploitability and remediation position (both of which may well change over time), and, finally, an Environmental Score calculation that is performed by end users to take into account their individual exposure landscape (target space and damage potential).

The third (Environmental) stage has the greatest influence on the final result, and without it a CVSS ranking is really only a partial index. Therefore it must be recognised that a published CVSS score is, unlike the public conception of common vendor rankings (e.g. Microsoft "Critical"), not the final answer. Of course in reality they are not final indices either. The end user should always expect to complete the ranking process by applying some kind of environmental calculation to any published index to allow for local priorities, and the task becomes very difficult where vendor-specific rankings are derived using differing proprietary methods. In the case of the CVSS, a maximal Temporal score of 10 may be reduced by the Environmental calculation even to zero, or alternatively even very low Temporal scores raised up to around 5, once the user's exposure landscape is taken into account. The second condition is significant, as, while nobody would ignore, for example, a Microsoft "Critical" rating, vulnerabilities classified as low priority by vendors could have major impact on certain users, depending on the criticality of the vulnerable systems to their specific business processes.

The Good, the Bad and the Ugly

So what are the pros and cons of the CVSS? On the positive side, it attempts to formalise and objectify the decision process applied to a very complicated problem, potentially improving consistency, both over time and across platforms, vendors and products. It is quite simple, and the input variables and their pre-determined alternative numerical values in the main appear well chosen. It is transparent in that its mechanism is publicly documented. It breaks new ground in attempting to include formal recognition of the user's all-important exposure landscape. But on the other hand, no system is better than its inputs. Choices have to be made as to which value of each variable to select, and the quality of the result depends entirely on the quality of all the choices that lead to it. These choices are externally expressed in natural language in the available calculators. Fortunately, the alternatives contributing to the Base and Temporal scores are relatively unambiguously expressed, and as these decisions will normally be made by experienced security specialists in reporting organisations, the opportunity for significant error is minimised.

However, while the inclusion of the environmental component in the calculation is one of the greatest potential strengths of CVSS, it could also prove to be its Achilles' heel. Not only does the Environmental calculation have the greatest single influence on the final score, but the values of the two variables that contribute to it (collateral damage potential and target distribution) are expressed as "low", "medium" and "high": a notoriously subjective classification system. Poor decisions here will lead to serious errors that can completely undermine the quality of the more objective earlier stages. Furthermore the techno-centric thinking of the originators of CVSS is most apparent here. The guidance notes describe these two environmental variables solely in terms of the percentage of hosts that are vulnerable and the potential for physical damage. This completely misses the point of the differing business criticality of individual systems, which cannot in the real world be assessed "off the cuff" by technical personnel alone.

How can I use the CVSS?

Given the above, how can you currently use CVSS in the real world? In its most basic application (ignoring for now the questionable Environmental parameters), the published Base or Temporal scores for the vulnerabilities in hand at any given moment should simply be sorted into descending numerical order and addressed as swiftly as possible from the top of the list downwards, whatever the actual range or absolute values of the scores. Treat it as a relative rather than an absolute ranking system and get on with the job of patching on a continuous basis. Of course the list and its order really have to be updated regularly as new bugs are announced. This is a completely different approach from the widely advocated calendar-interval regime: "patch Tuesday", "medium severity = 1 to 4 weeks", which is of course in reality patch team workload management not corporate exposure minimisation (but of course we all really know that, even if we take the easy way out in practice).

Whichever of the two you choose, it is important to be consistent in always using either the Base or Temporal score in such a simple application, and the Temporal score is to be preferred as it partially reflects whether a fix is available to be implemented. Despite the familiar tendency to bracket ratings into such categories, "critical", "medium", "low", this is not useful given the extra detail offered by the numerical scoring. How do you prioritise among a dozen simultaneous "criticals"? The quite granular numerical scoring method makes it much less likely that a significant number of vulnerabilities on your current list will have exactly the same ranking. Plus, it is a transparent system. You can often see how the score was arrived at, so you might learn something of use for the future.

At a more sophisticated level, the relationship between the Base and Temporal scores can be used to extract further guidance. If the two scores are essentially identical (within 5 per cent or so) this generally indicates that you are more exposed than if the Temporal score is lower than the Base score by ,say, 10 to 30 per cent. It means that a viable exploit exists and limited (or no) remediation is available. A bigger difference in the scores indicates that exploits are to some degree unproven or imperfect and/or that a fix at some level is available. So diverging Base and Temporal scores are a flag that the vulnerability should be reviewed to find out the new state of play, and the vulnerability may have to be moved up or down your priority list. This obviously depends on your sources of intelligence updating the Temporal scores, but supposing the information is available, somewhat better prioritisation can result.

The Environmental score, although at present primitively implemented, can be used to some extent but the existing parameters will tend to return scores on the low side in non-homogeneous environments where individual systems are business critical or where the landscape is not dominated by a small number of platforms or products. It should only be applied by newbies where too many of the Base (or Temporal) scores in the sorted list have the same value and are therefore not effectively ranked, and then only with caution, as local homework will be needed to validate the results.

Better results can be made of the Environmental score if you are prepared to redefine its input parameters to suit your business context. Selection of the appropriate collateral damage parameter must include the cost to the business of a successful exploit, not just the cost of technical damage and remediation. Choice of target distribution parameter must include the business significance of the breached asset: it may be the only server in a couple of hundred that is running a given system, but if that system is business critical the extent of the exposure is much greater than 0.5 per cent. However, unless you already have considerable detailed business intelligence at your fingertips it is probably dangerous at present to rely on the Environmental score, given its large effect on the final result. This is where we most look to the CVSS developers to improve the system. For now, environmental considerations will for the most part probably remain "seat of the pants". However, supposing revision of the Environment score calculation gets due attention, it promises to become a very powerful tool.

The way forward for the CVSS

So the CVSS has considerable potential as a simple and effective method for vulnerability ranking, but it needs further work to make it more user-friendly and to render the Environmental score more robust and meaningful. The Environmental score parameters need to be redefined to include business impact, which is something that should ideally be done by the CVSS developers rather than ad hoc by individual end users. It is likely that the Environmental score calculation will have to become more sophisticated before its true worth emerges. But from the functional perspective probably the most significant omission is that all the approved calculators currently expect the whole calculation process to be performed in a single operation by selection of the complete set of natural language parameters. None of them allow the end user simply to enter a published numerical Base or Temporal score from which to derive a local Environmental score. At this time the calculation that is most important to the end user must be done "by hand" unless an advisory happens to list the parameters used to derive the published score.

Overall, the CVSS is a relatively untried system but one which, by virtue of its transparency, potentially contains less snake oil than the closed ranking systems we are used to. We must hope that it will evolve over time into a robust universal standard: something that is much needed in this field.

See also: