Palo Alto Networks has published an advisory about its Palo Alto GlobalProtect SSL VPN solution which is used by many organizations. The advisory was a response to research carried out by Orange Tsai and Meh Changabout their discovery of a pre-authentication remote code execution (RCE) vulnerability in it.
The researchers found that the vulnerability exists because the gateway passes the value of a particular parameter to snprintf in an unsanitized, therefore exploitable, fashion. An unauthenticated attacker could exploit this vulnerability by sending a "specially crafted" request to a vulnerable SSL VPN target in order to remotely execute code on the system.
The researchers found that, "The bug is very straightforward. It is just a simple format string vulnerability with no authentication required! The sslmgr is the SSL gateway handling the SSL handshake between the server and clients. The daemon is exposed by the Nginx reverse proxy and can be touched via the path /sslmgr. During the parameter extraction, the daemon searches the string scep-profile-name and pass its value as the snprintf format to fill in the buffer. That leads to the format string attack."
Satnam Narang at Tenable described the problem in Tenable's own blog as a "format string vulnerability in the PAN SSL Gateway, which handles client/server SSL handshakes."
Though the researchers responsibly reported the problem to PAN, the company allegedly responded that the vulnerability had been identified internally and fixed. Therefore, no CVE identifier was assigned and newer versions of GlobalProtect would not be vulnerable.
After the researchers continued to investigate, PAN assigned a CVE identifier, CVE-2019-1579, and published a security advisory, PAN-SA-2019-0020, regarding it.
This may be related to the researchers finding that Uber was running an unpatched version and was therefore vulnerable. Their in-blog exploit worked against Uber and the researchers reported their findings. Uber responded it did not use PAN SSL VPN as its "primary VPN" and that PAN's VPN was hosted on Amazon Web Services (AWS) and not a part of Uber's "core infrastructure," which mitigated some of the potential impact of this vulnerability.
The affected systems and their updates are:
- PAN-OS 7.1.18 and earlier
- PAN-OS 7.1.19 and later
- PAN-OS 8.0.11 and earlier
- PAN-OS 8.0.12 and later
- PAN-OS 8.1.2 and earlier
- PAN-OS 8.1.3 and later
- PAN-OS 9.0 is not affected.
The PAN advisory admits some customers can not patch or upgrade. PAN recommends updating to "content release 8173, or a later version" as well as ensuring threat prevention is "enabled and enforced on traffic that passes through the GlobalProtect portal and GlobalProtect."
PAN tried a quick end-run around the community by not initially declaring a problem here. Just because it made internal fixes doesn't mean that these will migrate to the users that need them. The security advisory PAN issued about all of this was minimalist to the point of absurd, and unhelpful in a practical sense. If PAN wants to keep the trust of its customers in the future, it will have to do much better in how it relates to them.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.