PAN-OS User-ID Authentication Portal
CVE-2026-0300: Root RCE in the User-ID Authentication Portal, exploited as a zero-day
An unauthenticated buffer overflow in the Authentication Portal (Captive Portal) gives root on PA-Series and VM-Series firewalls. A likely state-sponsored group exploited it for about four weeks before disclosure.
Published Updated
Affected and fixed versions
| Product / branch | Fixed in |
|---|---|
| PAN-OS 12.1 | 12.1.4-h5, 12.1.7 or later |
| PAN-OS 11.2 | 11.2.4-h17, 11.2.7-h13, 11.2.10-h6, 11.2.12 or later |
| PAN-OS 11.1 | 11.1.4-h33, 11.1.6-h32, 11.1.7-h6, 11.1.10-h25, 11.1.13-h5, 11.1.15 or later |
| PAN-OS 10.2 | 10.2.7-h34, 10.2.10-h36, 10.2.13-h21, 10.2.16-h7, 10.2.18-h6 or later |
| Older PAN-OS (end of life) | No fix. Upgrade to a supported fixed version |
| Prisma Access, Cloud NGFW, Panorama | Not affected |
Always confirm against the vendor advisory, which lists every fixed hotfix.
What it is
The User-ID Authentication Portal, also called Captive Portal, is the web page a firewall shows to map an IP address to a username, typically for guest Wi-Fi or for users the firewall can’t identify any other way. It’s off by default.
On vulnerable versions, the portal service has a buffer overflow. Specially crafted packets let an attacker run code as root on PA-Series and VM-Series firewalls, without credentials and without any user interaction. Unit 42 saw the shellcode injected into an nginx worker process.
This was a true zero-day. Exploitation started around 9 April, nearly four weeks before Palo Alto published the advisory, and fixed versions only arrived a week after that.
Am I affected?
You’re exposed only if both are true on a vulnerable PAN-OS version:
- Authentication Portal is enabled. Check Device > User Identification > Authentication Portal Settings, then Enable Authentication Portal. This applies to both transparent and redirect modes.
- Response pages are reachable from untrusted networks. An interface management profile with Response Pages enabled is attached to a Layer 3 interface in a zone that internet or other untrusted traffic can reach. Check Network > Interfaces > the interface > Advanced > Management Profile.
The second condition is the one to look for. Enabling response pages on an outside interface is an easy mistake to make when setting up captive portal or block pages, and it puts the portal on the internet.
Palo Alto scores the issue 9.3 when the portal is internet-facing and 8.7 when it’s limited to trusted internal addresses. Prisma Access, Cloud NGFW and Panorama are not affected.
What to do
1. Upgrade to a fixed hotfix on your branch (table above). As always, prefer the newest hotfix, since later advisories need newer builds.
2. Until you can upgrade, close the exposure:
- Disable Response Pages in every interface management profile attached to an interface in an untrusted or internet zone. Keep them only on internal interfaces where real users need them.
- Restrict the Authentication Portal to trusted zones, or disable it entirely if you don’t use it.
- With a Threat Prevention subscription, enable Threat ID 510019 (Applications and Threats content 9097-10022 or later). The signature needs PAN-OS 11.1 or later to work.
3. If your portal was internet-facing between 9 April and your fix, hunt for compromise (below). A root-level compromise of a firewall can’t be cleaned in place with confidence. If you find evidence, contact Palo Alto support about rebuilding the device, and treat everything stored on the firewall as exposed:
- the User-ID / LDAP service account (the attackers used the firewall’s own AD credentials for enumeration)
- local admin passwords and API keys
- IPsec pre-shared keys, certificates and private keys
Detection
The attackers cleaned up after themselves, so look for what’s missing as well as what’s there:
- Gaps in crash data. Unit 42 saw crash kernel messages, nginx crash entries and core dump files deleted right after exploitation. Missing crash records around a time the portal was under load are a warning sign.
- Files on the firewall at the paths listed below. Checking them needs Palo Alto support or a tech support file review, since PAN-OS doesn’t give you a shell.
- Outbound connections from the firewall itself to the internet, especially to the IPs below or to port 8000. A firewall rarely initiates connections to random hosts.
- Active Directory queries from the User-ID service account against the domain root and DomainDnsZones that don’t match normal User-ID behavior.
- Unexpected HA failovers. In one case the second firewall of the pair was exploited after it became active.
- Threat logs for Threat ID 510019 once the signature is enabled.
Indicators of compromise
These come from one targeted, likely state-sponsored campaign. Use them to check whether you were hit before disclosure, not as a complete blocklist.
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-2026-0300.txt
| Indicator | Type | Reported by |
|---|---|---|
| 67.206.213[.]86 | IP | Unit 42 |
| 136.0.8[.]48 | IP | Unit 42 |
| 146.70.100[.]69 | IPC2 and tool staging server | Unit 42 |
| 149.104.66[.]84 | IP | Unit 42 |
| hxxp://146[.]70[.]100[.]69:8000/php_sess | URLEarthWorm download | Unit 42 |
| e11f69b49b6f2e829454371c31ebf86893f82a042dae3f2faf63dcd84f97a584 | SHA-256EarthWorm tunneling tool | Unit 42 |
| /var/tmp/linuxap | File pathTunneling tool on the firewall | Unit 42 |
| /var/tmp/linuxda | File pathTunneling tool on the firewall | Unit 42 |
| /var/tmp/linuxupdate | File pathTunneling tool on the firewall | Unit 42 |
| /tmp/.c | File pathUnidentified Python script | Unit 42 |
| /tmp/R5 | File pathReverseSocks5 | Unit 42 |
| /var/R5 | File pathReverseSocks5 | Unit 42 |
| Safari/532.31 Mozilla/5.5 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0 | User agentAttacker user agent | Unit 42 |
Sources
Page changelog
- Full analysis published.
KEV status, EPSS score and vendor data refreshed automatically, last on 10 Oct 2026.