August 26, 2026
Yo, Globalprotect, please go upgrade to the previous version
So at this point I might just be picking on Globalprotect, but it just has so many interesting strings to pull on. This one is quick and…
By Nullsgotroot
1 min read
So at this point I might just be picking on Globalprotect, but it just has so many interesting strings to pull on. This one is quick and easy and was confirmed to apply to at least 6.0.5, to 6.3.3, other versions weren't tested. My previous two posts both used the RPC interface to force an upgrade from a user specified MSI. While version checks happen when installing from a gateway (according to AmberWolf, I didn't check), the local function that does the upgrade only does a basic check against some minimum package version.
Since the RPC interface uses only this part of the code, we can use this oversight to install any version we want. This enables us to downgrade to a past version and make use of an existing patched exploit, of which there are a couple to choose from.
Since code already exists to pull the version number and compare it against a saved value, fixing this issue should be easy. Just check if the version in the upgrade request is newer that the installed version, and error out if it isn't.