CVE-2020-2035 PAN-OS: URL filtering policy is not enforced on TLS handshakes for decrypted HTTPS sessions
Description
When SSL/TLS Forward Proxy Decryption mode has been configured to decrypt the web transactions, the PAN-OS URL filtering feature inspects the HTTP Host and URL path headers for policy enforcement on the decrypted HTTPS web transactions but does not consider Server Name Indication (SNI) field within the TLS Client Hello handshake.
This allows a compromised host in a protected network to evade any security policy that uses URL filtering on a firewall configured with SSL Decryption in the Forward Proxy mode. A malicious actor can then use this technique to evade detection of communication on the TLS handshake phase between a compromised host and a remote malicious server.
This technique does not increase the risk of a host being compromised in the network. It does not impact the confidentiality or availability of a firewall. This is considered to have a low impact on the integrity of the firewall because the firewall fails to enforce a policy on certain traffic that should have been blocked.
This issue does not impact the URL filtering policy enforcement on clear text or encrypted web transactions.
This technique can be used only after a malicious actor has compromised a host in the protected network and the TLS/SSL Decryption feature is enabled for the traffic that the attacker controls.
Palo Alto Networks is not aware of any malware that uses this technique to exfiltrate data.
This issue is applicable to all current versions of PAN-OS.
This issue does not impact Panorama or WF-500 appliances.
This issue does not impact PAN-OS appliances running PAN-OS 10.1 (and later versions of PAN-OS) when CTD inspection is enabled in the appliance configuration.
Product Status
Versions | Affected | Unaffected |
---|---|---|
PAN-OS 10.1 | 10.1.* without CTD inspection enabled | 10.1.* with CTD inspection enabled |
PAN-OS 10.0 | 10.0.* | |
PAN-OS 9.1 | 9.1.* | |
PAN-OS 9.0 | 9.0.* | |
PAN-OS 8.1 | 8.1.* |
Required Configuration for Exposure
This URL filtering policy evasion situation is only applicable when the following conditions are true:
1. A host in the network is already compromised by a malicious actor.
2. The PAN-OS configuration must have the SSL/TLS Decryption Forward Proxy feature enabled for the specific traffic that the attacker controls.
3. There is no other security device in the chain that performs URL Filtering or can block access to malicious URLs or IP-addresses on the encrypted SSL/TLS traffic.
PAN-OS appliances running PAN-OS 10.1 (and later versions of PAN-OS) with CTD inspection enabled are not impacted by this vulnerability.
Severity: LOW
CVSSv3.1 Base Score: 3 (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:N)
Exploitation Status
Palo Alto Networks is not aware of any malware that uses this technique to exfiltrate data.
Weakness Type
CWE-20 Improper Input Validation
Solution
Palo Alto Networks is currently working to improve our inspection engines by adding a URL filtering policy check on both the TLS SNI field and the HTTP Host and URL headers for decrypted HTTPS transactions.
If your appliance is using PAN-OS 10.1 (or a later version of PAN-OS), enabling CTD inspection removes the security impact of this issue.
You can enable CTD inspection from the CLI with the following command:
set deviceconfig setting ssl-decrypt scan-handshake yes
You can enable CTD inspection from the web management interface through the following menu:
Device > Setup > Session > Decryption Settings > SSL Decryption Settings > Send handshake messages to CTD for inspection
If using other impacted PAN-OS appliances, or unable to enable CTD inspection in appliances using PAN-OS 10.1 (or later versions of PAN-OS), apply any of the workarounds to completely mitigate the risk of evasion.
There are currently no other PAN-OS updates available for this issue.
Workarounds and Mitigations
Customers concerned about the risk described in this advisory are encouraged to review the KB article https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u0000008V4J for more information on background and mitigation options. To enforce URL filtering policy on TLS handshakes for decrypted HTTPS sessions, we suggest you use any one of the following workarounds:
1. Route outbound traffic between two virtual systems (vsys) on PAN-OS firewalls that have vsys capability and perform URL Filtering on one vsys and perform SSL/TLS Decryption on the other vsys.
2. Add two additional Security Zones and route outbound traffic between the two zones so that you can apply both "Decrypt" and "No Decrypt" Decryption policy rules. For example, configure your next-generation firewall so that traffic travels from the Inside zone to the Internal-DMZ zone where you applied a “No Decrypt” rule along with URL Filtering and then the traffic passes to the External-DMZ zone and from External-DMZ to the Internet zone where you applied a "Decrypt" rule. Be aware that this workaround configuration may significantly increase the load on your firewall.
3. Use the additional security device in the traffic chain.
The SSL/TLS Decryption and URL Filtering functions should be separated (for example, the first device is performing URL Filtering and the second device is performing SSL/TLS Decryption).
These workarounds are described in detail at https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u0000008V4J
We recommend you use an endpoint protection solution such as the Cortex XDR agent to significantly reduce the potential risk of hosts being compromised. See https://www.paloaltonetworks.com/cortex/endpoint-protection.
Caution: We recommend that you do not disable SSL/TLS Decryption as a workaround to this issue. There are additional risks associated with this action.