Palo Alto Networks have released a security advisory detailing a High severity Reflected Denial-of-Service vulnerability in PAN-OS URL filtering. CVE-2022-0028 (CVSS 3.1: 8.6).
Reflected Denial-of-Service spoofs the attackers IP, utilizing other infrastructure, to send traffic to the target. The PAN-OS vulnerability relies on a firewall configuration with the URL filtering profile with one or more blocked categories assigned to a security rule with a source zone that has an external facing network interface. This is an atypical configuration however we have seen it in place.
This vulnerability disguises the attacker, making the traffic appear to be coming from a PAN firewall.
If you have Tenable.io or Nessus then you have a simple way to detect if you have an affected version of PAN-OS. Tenable released a plugin to detect vulnerable versions on 11th August 2022.
The firewall configuration must have a URL filtering profile with one or more blocked categories assigned to a security rule with a source zone that has an external facing interface for this issue to be misused by an external attacker. This configuration is not typical for URL filtering and is likely unintended by the administrator.
This issue is applicable to PA-Series (hardware), VM-Series (virtual), and CN-Series (container) firewalls only when all three of the following conditions are true:
1. The security policy on the firewall that allows traffic to pass from Zone A to Zone B includes a URL filtering profile with one or more blocked categories;
2. Packet-based attack protection is not enabled in a Zone Protection profile for Zone A including both (Packet Based Attack Protection > TCP Drop > TCP Syn With Data) and (Packet Based Attack Protection > TCP Drop > Strip TCP Options > TCP Fast Open);
3. Flood protection through SYN cookies is not enabled in a Zone Protection profile for Zone A (Flood Protection > SYN > Action > SYN Cookie) with an activation threshold of 0 connections.
Mitigations and Workarounds
Palo Alto Networks has already released updates for PAN-OS 8.1+. Cloud NGFW’s and Prisma Access are unaffected.
If you have a URL filtering policy with one or more blocked categories assigned to a security rule with a source zone that has an external facing interface, removing this configuration will prevent this issue from being exploited by remote attackers to conduct reflected DoS.
To prevent denial-of-service (DoS) attacks resulting from this issue from all sources, you can configure your Palo Alto Networks firewalls by enabling one of two zone protection mitigations on all Security zones with an assigned Security policy that includes a URL filtering profile:
1. Packet-based attack protection including both (Packet Based Attack Protection > TCP Drop > TCP SYN with Data) and (Packet Based Attack Protection > TCP Drop > Strip TCP Options > TCP Fast Open);
2. Flood protection (Flood Protection > SYN > Action > SYN Cookie) with an activation threshold of 0 connections.
It is not necessary nor advantageous to apply both the attack and flood protections.
(Palo Alto Networks Aporeto software only) You should not enable either of these protections if using Aporeto software; instead, wait for and install a fixed version of PAN-OS software.
Packet-Based Attack Protection Workaround (Recommended)
Follow the technical documentation to configure packet-based attack protection options for all defined Security zones with URL filtering enabled in the Security profile for that zone:
The packet-based attack protection workaround will prevent the firewall from establishing TCP sessions in impacted zones when the TCP SYN packet contains data in the three-way handshake for a TCP session. Please note that this workaround may disrupt applications that use TCP Fast Open in the zone.
Flood Protection (Alternate) Workaround
If you instead decide to enable the flood protection workaround, first make sure you understand how enabling SYN cookies will change traffic flow in the impacted zones:
|PAN-OS 10.2||< 10.2.2-h2||>= 10.2.2-h2|
|PAN-OS 10.1||< 10.1.6-h6||>= 10.1.6-h6|
|PAN-OS 10.0||< 10.0.11-h1||>= 10.0.11-h1|
|PAN-OS 9.1||< 9.1.14-h4||>= 9.1.14-h4|
|PAN-OS 9.0||< 9.0.16-h3||>= 9.0.16-h3|
|PAN-OS 8.1||< 8.1.23-h1||>= 8.1.23-h1|
|Prisma Access 3.1||None||All|
|Prisma Access 3.0||None||All|
|Prisma Access 2.2||None||All|
|Prisma Access 2.1||None||All|