> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/cortex-xdr-5.x/detect-investigate-and-respond-to-threats/vulnerability-management/vulnerability-policies.md).

# Vulnerability policies

A vulnerability policy defines the action you want to take for a specific set of vulnerability findings that match your policy criteria. Cortex XDR provides a set of predefined vulnerability policies based on CVSS severity, EPSS severity, and vulnerabilities confirmed through Attack Surface Testing. You can also create custom policies based on your unique business requirements. Custom policies allow you to focus on the risks that matter most to your organization. Some examples of custom vulnerability policies include the following:

* A policy that creates issues with a severity of **critical** for findings that have a CVSS score of 9 or more
* A policy that creates issues with a severity of **low** for findings that appear on dev servers
* A policy that specifies not to create issues for findings on assets in the asset group **Leased to customers**
* A policy which creates issues with a severity of **critical** for vulnerabilities that appear on the CISA KEV list **and** are in the asset group called **Production Servers**, regardless of CVSS score.
* A policy that prevents an image that contains code with a CVE with an EPSS score greater than 90% from being deployed to the Kubernetes cluster

Each time a new vulnerability finding is discovered, the system compares that finding to your vulnerability policies to determine whether one of the policies is a match. Vulnerability policies have an evaluation order, which means the system starts by evaluating the finding against the first policy. If it does not match, the second policy is evaluated for a match. As soon as a finding matches a policy, no further policies are evaluated for that finding.

The following sections describe the elements that make up a vulnerability policy:

<details>

<summary>Policy conditions and scope</summary>

Vulnerability policy conditions and scope define the specific set of findings that a policy applies to. You define the conditions by configuring a filter with criteria for including and excluding findings. You define scope by creating one or more Asset Groups and adding assets to those groups in the Assets view. Once the Asset Groups are created you may select one or more of them in the policy creation process, this will limit the scope of that policy to only the assets in the chosen asset groups.

</details>

<details>

<summary>Policy actions</summary>

Policy actions are the actions the policy will perform automatically on vulnerability findings that match the policy conditions and scope. There are two types of policy actions, issue creation and prevention.

**Issue creation actions**

Issue creation actions either create an issue and set the issue severity for matching findings or or ignore matching findings and do not create an issue.

**Prevention actions**

Prevention actions prevent vulnerabilities from being introduced into your systems by failing a build or blocking deployment. Available actions are described in the table below.

<table><thead><tr><th width="161">Type of prevention action</th><th width="126.5">Action</th><th>Description</th></tr></thead><tbody><tr><td>Kubernetes pod actions</td><td>Block new deployments</td><td>New deployments are blocked by the Kubernetes Admission Controller when vulnerabilities matching the policy conditions are detected in an image. This requires that the agent be installed and activated.</td></tr><tr><td>Kubernetes pod actions</td><td>Do nothing</td><td>No action will be taken for matching findings on Kubernetes clusters with Kubernetes Admission Controller activated.</td></tr><tr><td>Build actions</td><td>Fail the build</td><td>Fails the build in your CI/CD system when an attempt is made to check in code that includes a vulnerability that matches the policy conditions. This requires that the agent be installed and activated on your CI/CD system.</td></tr><tr><td>Build actions</td><td>Do nothing</td><td>No action will be taken for matching findings from code repository assets where the agent is activated.</td></tr></tbody></table>

</details>

<details>

<summary>Policy order</summary>

The order of policies in the policy list is important. Policies are executed in order from top to bottom, and the first policy that matches a finding determines the action on that finding. After that first match, no other policies are evaluated. We recommend placing your most important and most specific policies toward the top of the list and wider-reaching, more generic policies towards the bottom of the policy list.

Policy 0 is the **Globally Ignored CVEs, Assets, and Asset Groups** policy. It includes a list of CVEs and assets for which Cortex XDR will not create vulnerability issues. You can update the **Globally Ignored CVEs, Assets, and Asset Groups** policy by adding or removing CVEs, asset groups, and assets, but you cannot move the policy down list to change order.

</details>

## **Create a vulnerability policy**

Before creating a policy, be sure to review the information in the [Vulnerability Policies](/cortex-xdr-5.x/detect-investigate-and-respond-to-threats/vulnerability-management/vulnerability-policies.md) section.

1. Navigate to **Posture Management** → **Rules & Policies** → **Policies** → **Vulnerability Management**.
2. Click **+Add Policy** and select one of the options:
   * **Create a policy for issue creation**
   * **Create a policy for prevention**
3. Add a **Policy Name** and, optionally, a **Description**, and then click Next.
4. Set the policy conditions by creating a query that defines the specific findings for which the policy will create issues. Your policy can specify which findings to include and which to exclude.

   Preview the list of findings that match your policy. If the results look correct, click **Next**.
5. Define the policy scope by selecting one or more asset groups from the dropdown menu. If you don't choose an asset group, the policy will apply to all assets.

   If you want to create a new asset group, click **Create New Asset Group** to open the **Asset Groups** page in a new browser tab. Click **+ Add Group** and follow the instructions in the wizard. After you've created the new asset group, go back to your original tab and finish creating your policy with new asset group.

   Click **Next**.
6. Choose the action that will be executed on the findings that match the policy. If you select **Create an issue for each matching finding**, you must also select the issue severity that will be applied to those issues. You can base the severity of the issue on the severity of the underlying CVE by selecting **Use Default CVE Severity** in the dropdown menu.
7. Click **Done**.

   The policy wizard will close, and you will be redirected back to the **Vulnerability Policies** page.
8. Set the order of evaluation for the policy.

   By default new policies are added to bottom of the policy list. To move a policy up or down in the list, click and hold the arrows in the **Name** column and drag the policy to the desired position in the list.

   We recommend placing wider-reaching, more generic policies towards the bottom of the policy list, and more specific policies towards the top of the list.

   Click **Save**.

## **Update the Ignored CVEs, Asset Groups, and Assets policy**

Policy number 0 in the policy list is the **Ignored CVEs, Asset Groups, and Assets** policy. This policy contains a list of vulnerabilities and assets for which Cortex XDR will not create vulnerability issues. Findings will still be created for these vulnerabilities and assets, and you can review those on the **Vulnerabilities** and **Vulnerable Assets** pages. You can update the **Ignored CVEs, Asset Groups, and Assets** policy at any time by using the following steps to add or remove assets, asset groups, and CVEs.

1. Navigate to **Posture Management** → **Rules & Policies** → **Policies** → **Vulnerability Management**.
2. The first policy in the policy list is the **Ignored CVEs, Asset Groups, and Assets** policy. Click on that policy to open the policy wizard.
3. Add or remove vulnerabilities, asset groups, and assets as needed. Click **Next**.
   * To add CVEs, asset groups, or assets, use the search bar in each section to find the value you are looking for, and select it to add it to the list.
   * To remove CVEs, asset groups, or assets, click the **X** to the right of each item in the list.
4. Review the **Results Preview** to see the list of findings that will not generate issues. If the list looks correct, click **Done**.

## **Modify a vulnerability policy**

1. Navigate to **Posture Management** → **Rules & Policies** → **Vulnerability Management**.
2. Select either the **Issue Creation** or **Prevention** tab, depending on the type of policy you want to modify.
3. Click on the name of the policy in the policy list to open the policy wizard. You can also right-click anywhere in the row and select **Edit**.
4. Follow the steps in the wizard to update the policy.

## **Configure a block grace period**

When you create a Vulnerability Management Prevention policy, you also have the option to establish a remediation buffer period. Configuring a block grace period gives you additional time to resolve a vulnerability before the blocking action resumes.The grace period is based on the fix date of the vulnerability and allows you to override the blocking action of a policy when new vulnerabilities are detected. Follow the steps below to set up a block grace period:

1. Navigate to **Posture Management** → **Rules & Policies** → **Vulnerability Management** → **Vulnerability Policies - Prevention**.
2. Select an existing policy or create a new policy with the **Add Policy** button.
3. Add a Policy Name, Optional Description, and click **Next**.
4. Set the **Policy Conditions** and **Policy Scope**, as described under [Create a vulnerabilty policy](#create-a-vulnerability-policy).
5. Select an **Action** that will be triggered when a finding matches the policy.
6. For **Kubernetes Runtime protection**, if you opt to **Prevent new deployment requests**, you can also select a block grace period, during which the preventive action will be suppressed. Enter a value in the **Grace Period Days before Blocking Deployment field**. The grace period begins on the fix publish date, or the date the vulnerability was published if a fix is not available. Blocking enforcement begins once the grace period has passed. Enter 0, to immediately start blocking action.
7. For **Prevention Actions**, if you opt to**Fail the build**, you can also select a block grace period, during which the preventive action will be suppressed. Enter a value in the **Grace Period Days before Failing the Build**. Select **Done** to save your changes.

## **Enable or disable a vulnerability policy**

After disabling a policy, no new issues will be created or actions taken for new findings that match the policy.

1. Navigate to **Posture Management** → **Rules & Policies** → **Vulnerability Management**.
2. Select either the Issue Creation or Prevention tab, depending on the type of policy you want to modify.
3. Right-click anywhere in the row for that policy and select **Enable** or **Disable**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/cortex-xdr-5.x/detect-investigate-and-respond-to-threats/vulnerability-management/vulnerability-policies.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
