CheckFirewallAndGPForCVEs
python · PAN-OS by Palo Alto Networks
Details
| ID | CheckFirewallAndGPForCVEs |
|---|---|
| Language | python |
| From Version | 6.0.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
README
CheckFirewallAndGPForCVEs
This script checks if PAN-OS firewall and GlobalProtect versions are affected by specific CVEs (Common Vulnerabilities and Exposures).
Description
The script analyzes firewall system information against CVE data to determine if the current PAN-OS software version or GlobalProtect client package version is vulnerable to known security issues. It implements the CVE schema algorithm for version comparison and status determination.
Inputs
| Argument Name | Description | Required |
|---|---|---|
| pan_os_system_info_list | System info of firewalls (array). Output of pan-os-platform-get-system-info command | Required |
| cve_json | List of CVE with detailed json (array). Output of PAN_OS_Security_Advisories_Enrichment script | Required |
pan_os_system_info_list Format
Each firewall entry should contain:
hostname: Firewall hostnameip_address: Firewall IP addresssw_version: PAN-OS software versionglobal_protect_client_package_version: GlobalProtect client version (optional)
cve_json Format
Each CVE entry should contain:
cve_id: CVE identifiercvethreatseverityorcvss_severity: CVE severity levelaffected_list: List of affected products with version information
Outputs
| Path | Type | Description |
|---|---|---|
| CVE_Check.CVE_ID | String | The CVE identifier |
| CVE_Check.Result.Hostname | String | Firewall hostname |
| CVE_Check.Result.IPAddress | String | Firewall IP address |
| CVE_Check.Result.SWVersion | String | PAN-OS software version |
| CVE_Check.Result.IsFirewallVersionAffected | Boolean | Whether PAN-OS version is affected by the CVE |
| CVE_Check.Result.GlobalProtectVersion | String | GlobalProtect client version |
| CVE_Check.Result.IsGlobalProtectVersionAffected | Boolean | Whether GlobalProtect version is affected by the CVE |
| CVE_Check.Severity | String | CVE severity level |
Context Example
{
"CVE_Check":{
"CVE_ID": "CVE-2072-1234",
"Result": [
{
"Hostname": "fw-affected",
"IPAddress": "1.1.1.1",
"SWVersion": "10.2.3",
"IsFirewallVersionAffected": true,
"GlobalProtectVersion": "6.0.1",
"IsGlobalProtectVersionAffected": true
},
{
"Hostname": "fw-patched",
"IPAddress": "2.2.2.2",
"SWVersion": "10.2.3-h2",
"IsFirewallVersionAffected": false,
"GlobalProtectVersion": "6.0.3",
"IsGlobalProtectVersionAffected": false
}],
"Severity": "MEDIUM"
}
}
Human Readable Output
CVE-2072-1234
| Hostname | IPAddress | SWVersion | IsFirewallVersionAffected | GlobalProtectVersion | IsGlobalProtectVersionAffected |
|---|---|---|---|---|---|
| fw-affected | 1.1.1.1 | 10.2.3 | True | 6.0.1 | True |
| fw-patched | 2.2.2.2 | 10.2.3-2 | False | 6.0.3 | False |
Notes
- The script implements the CVE schema algorithm from https://cveproject.github.io/cve-schema/schema/docs.
- Hotfix versions require exact matches for status changes.
- If a CVE doesn’t apply to the PAN-OS software version or the GlobalProtect client package version, the output will specify the affected status on these 2 versions. For any other installed package versions, please inspect the CVE details.
args: - description: System info of firewalls as obtained from running the pan-os-platform-get-system-info command. isArray: true name: pan_os_system_info_list required: true - description: Details of the CVE as obtained from running the PAN-OS_Security_Advisories_Enrichment script to enrich the CVE from the <https://security.paloaltonetworks.com> page. isArray: true name: cve_json required: true commonfields: id: CheckFirewallAndGPForCVEs version: -1 dockerimage: demisto/python3:3.12.13.10116658 enabled: true engineinfo: {} name: CheckFirewallAndGPForCVEs outputs: - contextPath: CVE_Check.CVE_ID description: ID of the CVE being checked. type: string - contextPath: CVE_Check.Result description: Result of the CVE vulnerability assessment for firewalls. type: unknown - contextPath: CVE_Check.Severity description: Severity of the CVE being assessed. type: string runas: DBotWeakRole runonce: false script: '' scripttarget: 0 subtype: python3 tags: [] type: python fromversion: 6.0.0 tests: - No tests (auto formatted) supportedModules: - agentix - xsiam - cloud_posture marketplaces: - platform