PAN-OS GlobalProtect portal and gateway

CVE-2024-3400: GlobalProtect zero-day gives root with a crafted session cookie

An unauthenticated command injection in GlobalProtect gave root on PAN-OS firewalls (CVSS 10). A likely state-backed group exploited it for weeks before disclosure, then mass exploitation followed the public exploit.

Published Updated

ExploitedYes, in CISA KEVAdded 12 Apr 2024
Ransomware useKnownPer CISA
SeverityCRITICALCVSS 4.0 10
EPSS100%Chance of exploitation in 30 days
Public exploitYes
FixAvailable

Affected and fixed versions

Product / branchFixed in
PAN-OS 11.111.1.0-h3, 11.1.1-h1, 11.1.2-h3 or later
PAN-OS 11.011.0.0-h3, 11.0.1-h4, 11.0.2-h4, 11.0.3-h10, 11.0.4-h1 or later (branch now end of life)
PAN-OS 10.210.2.0-h3, 10.2.1-h2, 10.2.2-h5, 10.2.3-h13, 10.2.4-h16, 10.2.5-h6, 10.2.6-h3, 10.2.7-h8, 10.2.8-h3, 10.2.9-h1 or later
PAN-OS 10.1, 10.0, 9.1, 9.0Not affected
Cloud NGFW, Panorama, Prisma AccessNot affected

Always confirm against the vendor advisory, which lists every fixed hotfix.

What it is

GlobalProtect didn’t validate the value of a session cookie before using it as a file name. A value containing ../ let an unauthenticated attacker create a file with any name in any directory. A background job later handled such file names in a shell command, so a crafted name became a command running as root.

The result was unauthenticated remote code execution on any firewall with a GlobalProtect portal or gateway, which describes most firewalls that offer remote access VPN. Palo Alto scored it the maximum CVSS 10.

Volexity caught the first attacker, which it tracks as UTA0218 and believes to be state-backed, on 10 April 2024. The earliest activity dated back to 26 March. Once proofs of concept were published on 16 April, many other groups joined in.

Am I affected?

Only firewalls running PAN-OS 10.2, 11.0 or 11.1 with a GlobalProtect portal or gateway configured. Check Network > GlobalProtect > Portals and Gateways. Device telemetry doesn’t matter: early guidance suggested it did, but that was withdrawn.

Older branches (10.1 and below), Panorama, Cloud NGFW and Prisma Access are not affected.

Since this is a 2024 bug, the real question today is whether a firewall that stayed unpatched through April 2024 was ever cleaned. Devices that were compromised and only patched may still carry attacker access or stolen secrets.

What to do

1. Make sure every firewall is on a fixed version. Any firewall still on 11.0 or another end-of-life branch should move to a supported release; fixes for later bugs, such as CVE-2026-0257, won’t come to it.

2. Check for past exploitation attempts with this CLI command from the advisory:

grep pattern "failed to unmarshal session(.\+.\/" mp-log gpsvc.log*

Normal lines show a GUID between the parentheses. A file path or shell command there (for example failed to unmarshal session(../../some/path)) means someone tried to exploit the device. Collect a tech support file before upgrading, since logs from the old installation become unreadable after the upgrade.

3. If the device was compromised, rebuild it. Palo Alto’s current guidance:

  • Hardware (PA-Series): an Enhanced Factory Reset scheduled with support, because researchers showed persistence that survives a normal reset and upgrade.
  • Virtual (VM-Series): deploy a fresh instance, and keep the old one shut down for forensics.
  • In both cases, review the exported configuration for changes, change the master key, reset all passwords and keys, and reissue certificates.

4. Investigate the network behind it. In Volexity’s cases, the attackers used the firewall’s own highly privileged service account to move into the network over SMB and WinRM. They stole the Active Directory database (ntds.dit), DPAPI keys and saved browser credentials.

Detection

  • The gpsvc.log check above, using a tech support file collected before any upgrade.
  • Unusual traffic from the firewall itself: wget downloads straight to an IP address, requests to worldtimeapi.org, connections on port 8443 to unknown hosts, or SMB, RDP and WinRM sessions from the firewall to internal servers.
  • Use of the firewall’s service accounts on internal systems.
  • The file paths below, which need Palo Alto support or a tech support file review to check.

Indicators of compromise

These are from the original zero-day campaign (UTA0218). After the public exploit, many other actors used the bug with different tooling, so the absence of these indicators doesn't mean a device is clean.

The .txt list has one IP per line and a fixed address, so a firewall can pull it as an External Dynamic List: https://patchtonight.com/iocs/CVE-2024-3400.txt

IndicatorTypeReported by
172.233.228[.]93IPC2 server, ports 443 and 8443Volexity
/usr/lib/python3.6/site-packages/system.pthFile pathUPSTYLE backdoor loaderVolexity
/etc/cron.d/updateFile pathCron job that downloads and runs attacker scriptsVolexity
/var/appweb/sslvpndocs/global-protect/portal/css/bootstrap.min.cssFile pathLegitimate file the backdoor briefly overwrites to return command outputVolexity
update.pyFile pathBackdoor installer file nameVolexity

Volexity's full report and indicator list.

Sources

Page changelog

  • Full analysis published.

KEV status, EPSS score and vendor data refreshed automatically, last on 10 Oct 2026.

Get alerts

A notification when we publish a new analysis or a covered vendor gets a new actively exploited CVE. No account, no email.