<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vulnerability management Archives -</title>
	<atom:link href="https://barriersec.com/tag/vulnerability-management/feed/" rel="self" type="application/rss+xml" />
	<link>https://barriersec.com/tag/vulnerability-management/</link>
	<description></description>
	<lastBuildDate>Fri, 27 Oct 2023 10:23:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.3</generator>

<image>
	<url>https://barriersec.com/wp-content/uploads/cropped-Monochrome-on-Transparent-32x32.png</url>
	<title>vulnerability management Archives -</title>
	<link>https://barriersec.com/tag/vulnerability-management/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Open Source Vulnerability Management : Insights on Prioritisation</title>
		<link>https://barriersec.com/2023/10/open-source-vulnerability-management-insights-on-prioritisation/</link>
		
		<dc:creator><![CDATA[goutham madhwaraj]]></dc:creator>
		<pubDate>Fri, 27 Oct 2023 11:37:01 +0000</pubDate>
				<category><![CDATA[Appsec]]></category>
		<category><![CDATA[vulnerability prioritisation]]></category>
		<category><![CDATA[EPSS]]></category>
		<category><![CDATA[KEV]]></category>
		<category><![CDATA[supply chain security]]></category>
		<category><![CDATA[third party dependency management]]></category>
		<category><![CDATA[vulnerability management]]></category>
		<guid isPermaLink="false">https://barriersec.com/?p=876</guid>

					<description><![CDATA[<p>In virtually every company, developers rely on open-source libraries and third-party code to expedite their development efforts. While this approach&#8230;</p>
<p>The post <a rel="nofollow" href="https://barriersec.com/2023/10/open-source-vulnerability-management-insights-on-prioritisation/">Open Source Vulnerability Management : Insights on Prioritisation</a> appeared first on <a rel="nofollow" href="https://barriersec.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In virtually every company, developers rely on open-source libraries and third-party code to expedite their development efforts. While this approach can be highly beneficial, it also introduces unique risks that require careful consideration.</p>
<p>One significant concern revolves around Open Source License Obligations, a topic that deserves its own post to delve into in depth. Furthermore, it&#8217;s essential to address disclosed security vulnerabilities associated with these libraries.Traditionally, the mantra for many internal security teams has been to &#8220;run a vulnerability scanner and fix all &#8216;High&#8217; and &#8216;Critical&#8217; issues&#8221; when dealing with security problems in third-party libraries. However, this approach may prove impractical in fast-paced or large companies with a microservices architecture.</p>
<p>In a typical company that employs a microservices based architecture, there may be hundreds of microservices, each with a unique set of third-party open-source dependencies spanning a wide range of technology stacks. Monitoring these service-level third-party dependencies using popular scanners like Dependabot can lead to an influx of daily alerts. These alerts cover a spectrum of issues, from straightforward package version upgrades to complex dependency conflicts.</p>
<p>Most of these scanners assign a severity rating based on the Common Vulnerability Scoring System (CVSS), with Version 3 (CVSS V3) being the widely adopted standard at the time of this writing. However, crafting security policies and making decisions solely based on the CVSS score can lead to an overwhelming number of vulnerabilities to address. This can result in developers not taking these alerts seriously or struggling to manage them effectively.</p>
<h4><strong>Prioritising Vulnerabilities Detected by Scanners:</strong></h4>
<p>Vulnerability prioritisation is an essential process in modern cybersecurity that involves identifying and ranking security vulnerabilities based on their severity and potential impact on an organization&#8217;s systems and data. Prioritisation is crucial because it allows security teams to focus their limited resources on the most critical vulnerabilities, thereby reducing the overall risk to the organization.</p>
<h4 data-renderer-start-pos="504"><strong>Why Do we Need Vulnerability Prioritisation?</strong></h4>
<p>At present, the Common Vulnerability Scoring System (CVSS) serves as a widely embraced approach for evaluating the seriousness of security vulnerabilities. It assigns a numerical rating on a scale from 0 to 10 to gauge the potential impact of a vulnerability, taking into consideration factors such as the intricacy of the exploit and the potential consequences for the compromised system. Although the CVSS scoring system proves valuable for prioritising vulnerabilities, it does have certain constraints that limit its effectiveness when used in isolation.</p>
<p>To begin with, the CVSS scoring system relies on a set of predefined metrics, which may not fully capture the intricacies and repercussions of certain vulnerabilities. For instance, a vulnerability might receive a less severity rating according to the CVSS score, yet in reality, it could be a part of a more extensive attack sequence that might lead to a significant security breach.</p>
<p>Additionally, the CVSS scoring system primarily concentrates on technical aspects and does not factor in the business impact of a vulnerability. This can result in situations where vulnerabilities with substantial implications for business operations or critical data receive lower severity ratings than less impactful vulnerabilities.</p>
<p>Finally, the CVSS scoring system doesn&#8217;t incorporate the likelihood of a vulnerability being exploited in real-world scenarios. Vulnerabilities with low CVSS scores may still be actively targeted by malicious actors if there are no effective countermeasures in place or if the vulnerability is part of a widespread cyberattack campaign.</p>
<h4>How Can We Achieve Vulnerability Prioritisation?</h4>
<p>There are few crucial attributes to look at whenever we analyse a third party library security alert. Note that this can be extensively applied to other assets / systems. (containers, servers etc)</p>
<ol>
<li>Is it a direct / transitive dependency?</li>
<li>Is it a runtime / Development Dependency ?</li>
<li>Is the vulnerable function from the affected dependency reachable by first party code?(Reachability Analysis)</li>
<li>What are the attack trends associated with the discovered vulnerability(PoC exploit available? etc) and how to prioritise based on such trends?</li>
<li>Is Patch Available / package abandoned by maintainer?</li>
</ol>
<h5><strong>Is it a direct / transitive dependency?</strong></h5>
<p>Security vulnerabilities in your project&#8217;s / service&#8217;s <strong>direct dependencies</strong> should be given the <strong>highest priority</strong>. These are the libraries or packages you explicitly include in your project, and any vulnerabilities in them directly affect your code. Transitive dependencies are the libraries or packages that your direct dependencies rely on.While they are not directly part of your codebase, they can still pose a risk if they have known security issues.</p>
<h5><strong>Is it a runtime / Development Dependency ?</strong></h5>
<p>If you work in a typical company environment that was described earlier, you would know about 10&#8217;s of ReDOS vulnerability alerts that are marked as &#8220;High&#8221; on a day to day basis by these scanners . dependencies marked with &#8220;development&#8221; attribute  . DevDependencies often include things like testing frameworks, build tools, linters, and other development-related libraries or packages. These dependencies are essential for developers working on the project to ensure code quality, test functionality, and build the software, but they do not need to be installed or included in the final production deployment.</p>
<p>In contrast, &#8220;dependencies&#8221; (without the &#8220;dev&#8221; prefix) refer to the packages or libraries that a software project relies on for its normal operation during runtime. These are essential components of the software and must be installed and available when the software is used in production.</p>
<p><strong>Runtime Dependency</strong> <strong>issues</strong> should be given the <strong>highest priority</strong> as its reachable / exposed to attackers when application is in production.</p>
<p><strong>Tip: Dependabot has a rule which can be configured to auto dismiss low impactful alerts and can be enabled in security analysis settings.</strong></p>
<p><img decoding="async" loading="lazy" class="alignnone size-full wp-image-878" src="https://barriersec.com/wp-content/uploads/Screenshot-2023-10-27-at-9.52.25-AM.png" alt="" width="1710" height="600" srcset="https://barriersec.com/wp-content/uploads/Screenshot-2023-10-27-at-9.52.25-AM.png 1710w, https://barriersec.com/wp-content/uploads/Screenshot-2023-10-27-at-9.52.25-AM-300x105.png 300w, https://barriersec.com/wp-content/uploads/Screenshot-2023-10-27-at-9.52.25-AM-1024x359.png 1024w, https://barriersec.com/wp-content/uploads/Screenshot-2023-10-27-at-9.52.25-AM-768x269.png 768w, https://barriersec.com/wp-content/uploads/Screenshot-2023-10-27-at-9.52.25-AM-1536x539.png 1536w, https://barriersec.com/wp-content/uploads/Screenshot-2023-10-27-at-9.52.25-AM-1600x561.png 1600w" sizes="(max-width: 1710px) 100vw, 1710px" /></p>
<h5><strong>Is the vulnerable function / code from the affected third party dependency reachable by first party code?(Reachability Analysis)</strong></h5>
<p>Next prioritisation attribute to look at is &#8220;<strong>Reachability</strong>&#8221; . Vulnerability can only be exploited by a threat actor if our first party code consumes vulnerable function from the third party library and is reachable to an external threat actor via any means. ( functionality on web etc). There are several Reachability analysis tools which are efficient &amp; commercial for automated reachability analysis for better prioritisation. ( <a href="https://www.endorlabs.com/">https://www.endorlabs.com/  </a>&amp; <a href="https://semgrep.dev/products/semgrep-supply-chain/">https://semgrep.dev/products/semgrep-supply-chain/</a> ) .</p>
<p><strong>Vulnerabilities which are reachable by first party code should be given highest priority. </strong>If you plan to conduct manual reachability analysis, it&#8217;s crucial to recognize that this should be an ongoing, recurrent task. Even if there are currently no existing references for your analysis, it&#8217;s essential to acknowledge the potential for such references to emerge in the future. This looming possibility, often likened to a &#8220;ticking time bomb,&#8221; underscores the importance of not disregarding this task. Utilising automated reachability analysis tools is the recommended approach to address this concern effectively.</p>
<h5><strong>What are the attack trends associated with the discovered vulnerability(PoC exploit available?) and how to prioritise based on such trends?</strong></h5>
<p>Most of the alerts received by scanners has a CVSS score and CVE ID attached.As CVSS v3 do not take into account of attack trends , For effective prioritisation of vulnerabilities , it can be combined with metrics such as <strong data-renderer-mark="true">Exploit Predictability Score System ( EPSS ) and can be clubbed with other feeds such as CISA’s Known Exploited Vulnerabilities Catalog ( KEV).</strong></p>
<h6><strong data-renderer-mark="true">Exploit Predictability Score System : (EPSS) (<a href="https://www.first.org/epss/">here</a>)</strong></h6>
<p data-renderer-start-pos="2079">One effective method of prioritisation is the use of an exploit predictability score system, which assigns a score to vulnerabilities based on the likelihood that they will be exploited by threat actors in next 30 days. The system works by analysing factors such as the availability of exploit code, the complexity of the vulnerability, and the popularity of the affected software or system. By using an exploit predictability score system to prioritise vulnerabilities, organisations can focus their efforts on addressing the most critical threats first. This approach allows security teams to efficiently allocate resources and remediate vulnerabilities before they are exploited, thereby reducing the risk of data breaches, downtime, and other security incidents.</p>
<h6 data-renderer-start-pos="3150"><strong data-renderer-mark="true">CISA’s Known Exploited Vulnerabilities Catalog: (KEV)(<a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">here</a>)</strong></h6>
<p data-renderer-start-pos="3205">CISA&#8217;s Known Exploited Vulnerabilities Catalog is a public database maintained by the United States Cybersecurity and Infrastructure Security Agency (CISA). The catalog provides information on known vulnerabilities that have been exploited by cybercriminals, as well as information on the tactics, techniques, and procedures (TTPs) used in those attacks.The catalog contains a list of Common Vulnerabilities and Exposures (CVEs) that have been actively exploited by threat actors, along with information on the types of attacks and malware associated with each CVE. The catalog is regularly updated with new information as it becomes available, making it a valuable resource for security teams and other stakeholders.</p>
<p data-renderer-start-pos="3205">The following Sample Prioritisation matrix can be used internally for better prioritisation of vulnerabilities combining CVSS V3 Severity , EPSS Score and KEV.</p>
<table data-testid="renderer-table" data-number-column="false">
<colgroup>
<col />
<col />
<col />
<col /></colgroup>
<tbody>
<tr>
<th class="ak-renderer-tableHeader-sortable-column__wrapper" colspan="1" rowspan="1" data-colwidth="190" aria-sort="none">
<div class="ak-renderer-tableHeader-sortable-column">
<p data-renderer-start-pos="4"><strong data-renderer-mark="true">CVSS v3 Severity</strong></p>
<figure class="ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order">
<div role="presentation">
<div class="ak-renderer-tableHeader-sorting-icon confluence-ssr-app-gls7uu" tabindex="0" role="button" aria-label="No sort applied to the column" aria-disabled="false" aria-describedby="967val-tooltip">
<div class="sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive confluence-ssr-app-37qivc">
<div class="confluence-ssr-app-1h55k8m"></div>
</div>
</div>
</div>
</figure>
</div>
</th>
<th class="ak-renderer-tableHeader-sortable-column__wrapper" colspan="1" rowspan="1" data-colwidth="190" aria-sort="none">
<div class="ak-renderer-tableHeader-sortable-column">
<p data-renderer-start-pos="24"><strong data-renderer-mark="true">EPSS V3 Probability Score</strong></p>
<figure class="ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order">
<div role="presentation">
<div class="ak-renderer-tableHeader-sorting-icon confluence-ssr-app-gls7uu" tabindex="0" role="button" aria-label="No sort applied to the column" aria-disabled="false" aria-describedby="968val-tooltip">
<div class="sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive confluence-ssr-app-37qivc">
<div class="confluence-ssr-app-1h55k8m"></div>
</div>
</div>
</div>
</figure>
</div>
</th>
<th class="ak-renderer-tableHeader-sortable-column__wrapper" colspan="1" rowspan="1" data-colwidth="190" aria-sort="none">
<div class="ak-renderer-tableHeader-sortable-column">
<p data-renderer-start-pos="53"><strong data-renderer-mark="true">Is in KEV Database?</strong></p>
<figure class="ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order">
<div role="presentation">
<div class="ak-renderer-tableHeader-sorting-icon confluence-ssr-app-gls7uu" tabindex="0" role="button" aria-label="No sort applied to the column" aria-disabled="false">
<div class="sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive confluence-ssr-app-37qivc">
<div class="confluence-ssr-app-1h55k8m"></div>
</div>
</div>
</div>
</figure>
</div>
</th>
<th class="ak-renderer-tableHeader-sortable-column__wrapper" colspan="1" rowspan="1" data-colwidth="190" aria-sort="none">
<div class="ak-renderer-tableHeader-sortable-column">
<p data-renderer-start-pos="76"><strong data-renderer-mark="true">Final Internal Priority</strong></p>
<figure class="ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order">
<div role="presentation">
<div class="ak-renderer-tableHeader-sorting-icon confluence-ssr-app-gls7uu" tabindex="0" role="button" aria-label="No sort applied to the column" aria-disabled="false" aria-describedby="970val-tooltip">
<div class="sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive confluence-ssr-app-37qivc">
<div class="confluence-ssr-app-1h55k8m"></div>
</div>
</div>
</div>
</figure>
</div>
</th>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="105">Critical</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="117">ANY</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="124">Yes</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="131"><strong data-renderer-mark="true">P0</strong> if reachable by First Party Code, <strong data-renderer-mark="true">P2</strong> if not reachable</p>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="193">High</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="203">ANY</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="210">Yes</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="217"><strong data-renderer-mark="true">P1</strong> if reachable by First Party Code , <strong data-renderer-mark="true">P2</strong> if not reachable.</p>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="281">Medium</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="293">ANY</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="300">Yes</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="307"><strong data-renderer-mark="true">P2</strong> if reachable by First Party Code , <strong data-renderer-mark="true">P3</strong> if not reachable.</p>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="372">Critical</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="384">0.088 &amp; above</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="401">No</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="407"><strong data-renderer-mark="true">P0</strong> if reachable by First Party Code , <strong data-renderer-mark="true">P2</strong> if not reachable.</p>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="472">High</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="480">0.088 &amp; above</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="497">No</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="503"><strong data-renderer-mark="true">P1</strong> if reachable by First Party Code , <strong data-renderer-mark="true">P3</strong> if not reachable.</p>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="567">Medium</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="578">0.088 &amp; above</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="595">No</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="601"><strong data-renderer-mark="true">P2</strong> if reachable by First Party Code , <strong data-renderer-mark="true">P3</strong> if not reachable.</p>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="666">High / Critical</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="686">&lt; 0.088</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="697">No</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="703"><strong data-renderer-mark="true">P2</strong> if reachable by First Party Code, <strong data-renderer-mark="true">P3</strong> if not reachable.</p>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="766">Medium</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="776">&lt; 0.088</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="787">No</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="793"><strong data-renderer-mark="true">P3</strong></p>
</div>
</td>
</tr>
<tr>
<td colspan="1" rowspan="1" data-colwidth="190">
<p data-renderer-start-pos="801">Low</p>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="810">ANY</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="817">ANY</p>
</div>
</td>
<td colspan="1" rowspan="1" data-colwidth="190">
<div class="fabric-editor-block-mark fabric-editor-alignment confluence-ssr-app-1mg5rgz" data-align="center">
<p data-renderer-start-pos="824"><strong data-renderer-mark="true">P3</strong></p>
</div>
</td>
</tr>
</tbody>
</table>
<p>this matrix , assumes you are not using automated reachability analysis tools and are blinded by the &#8220;time bomb&#8221; scenario that was mentioned in the reachability part. Offering development teams a bit of extra buffer time for issue resolution would undoubtedly be appreciated. The prioritisation matrix can be tailored to align with your company&#8217;s preferences and risk tolerance</p>
<h6><strong>Example :</strong></h6>
<p>lets assume &#8216;<strong>P0</strong>&#8216; critical vulnerability in your third party library discovered via an alerting tool. and <strong>SLA to fix P0 is 48 hours , SLA to fix P1 is 72 hours ,SLA to fix P2 is 7 days , SLA to fix P3 is 15 days.</strong></p>
<p>Without the above prioritisation ,final priority would be <strong>&#8220;P0&#8221;</strong> Developers need to fix this issue within <strong>48 hours</strong>. considering the above prioritisation , assuming <strong>EPSS score</strong> is <strong>&lt; 0.088</strong> and not reachable by first party code &amp; also vulnerability is not available in KEV catalog, its final priority would be <strong>P3, buying 13 more days of time to fix</strong> .</p>
<p><strong>Note : EPSS score (<a href="https://www.first.org/epss/api">api</a>), KEV catalog(<a href="https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json">here</a>) details should be fetched every day as scores are updated everyday and can be used for reprioritisation of historical open alerts based on the changes. Reachability analysis should be done on recurring basis to make sure there are no new references after past analysis.</strong></p>
<h6><strong>Why have we taken 0.088 as EPSS V3 score baseline?</strong></h6>
<p>As rightly highlighted <a href="https://www.endorlabs.com/blog/epss-exploit-prediction-reachability-analysis">here</a> , the following baseline score was chosen. it can be modified as per companies risk appetite and availability of resources to fix the vulnerability .</p>
<h5>Is Patch Available / package abandoned by maintainer?</h5>
<p>Frequently, identified vulnerabilities lack an active patch, and, in more concerning cases, the maintainer has abandoned them. It is essential to give priority to alerts with available patches, but abandoned vulnerabilities should not be disregarded. They still represent potential threats, and their prioritization can be based on other attributes and the availability of potential workarounds. Considering an abandoned package as a risk, exploring the transition to an alternative package, or even taking on in-house maintenance can be viable steps in mitigating this risk.</p>
<h3>References :</h3>
<ol>
<li><a href="https://www.endorlabs.com/blog/epss-exploit-prediction-reachability-analysis">https://www.endorlabs.com/blog/epss-exploit-prediction-reachability-analysis</a></li>
<li><a href="https://arxiv.org/pdf/2302.14172.pdf">https://arxiv.org/pdf/2302.14172.pdf</a></li>
<li><a href="https://www.first.org/epss/#">https://www.first.org/epss/#</a></li>
<li><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog">https://www.cisa.gov/known-exploited-vulnerabilities-catalog</a></li>
</ol>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://barriersec.com/2023/10/open-source-vulnerability-management-insights-on-prioritisation/">Open Source Vulnerability Management : Insights on Prioritisation</a> appeared first on <a rel="nofollow" href="https://barriersec.com"></a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
