PAN-OS GlobalProtect Authentication Bypass — CVE-2026-0257

Unauthenticated attacker bypasses portal/gateway auth to establish a VPN session — actively exploited (Unit 42)
Threat
CVE-2026-0257 (GlobalProtect bypass)
Severity
EXPLOITED ITW
Type
Edge VPN / auth bypass
Access
Unauthenticated / network
Version
v0.2 (Draft)
Author
HuntPack
Confidence
Medium-High
01

Executive Summary

CVE-2026-0257 is an authentication bypass in the GlobalProtect portal and gateway components of PAN-OS. An unauthenticated attacker can circumvent security controls and initiate a VPN connection without valid credentials. Palo Alto Networks Unit 42 has observed active exploitation by an unidentified actor attempting to access GlobalProtect; the advisory and IOCs published 9 June 2026. As of reporting, no post-access lateral movement had been observed — meaning defenders have a window to catch this at the VPN-edge before it turns into a foothold.

The published indicators are unusually clean to hunt on: the early (pre-PoC) exploitation traffic came from a fixed set of source IPs and the connecting "endpoints" carried hard-coded, PoC-flavored fingerprints — placeholder MAC addresses (aa:bb:cc:dd:ee:ff, 00:11:22:33:44:55), template hostnames (WINDOWS-LAPTOP-001, DESKTOP-GP01, GP-CLIENT), a hard-coded Windows 10 Pro 64-bit client OS string, and an empty domain field. Real corporate GlobalProtect clients almost never present those values, so they make high-fidelity hunt anchors.

The highest-value defensive angle is the GlobalProtect authentication/system logs on the firewall: a successful gateway session whose client metadata matches the PoC fingerprints, or that originates from the published IPs, is exploitation until proven otherwise. Because the firewall is an appliance without a Falcon sensor, the durable detection path is to forward GlobalProtect logs to NGSIEM and alert on those fingerprints.

Defender priority: Apply the Palo Alto fix for CVE-2026-0257 and, in parallel, search GlobalProtect logs now for the published source IPs and the hard-coded device fingerprints (template hostnames, placeholder MACs, empty domain). A match = treat as compromise and force re-auth.

02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry Fwd
1Palo Alto Unit 42 threat brief (9 Jun 2026)Active exploitation of GlobalProtect auth bypass; IOC IPs + PoC fingerprintsyes
1Palo Alto Networks PSIRT advisoryCVE-2026-0257 portal/gateway auth bypass; affected PAN-OS versions & fixyes
2Vendor IOC list (pre-PoC source IPs)23.128.228.6, 104.207.144.154, 146.19.216.119/.120/.125, 179.43.172.213, 185.195.232.139, 198.12.106.60, 202.144.192.47yes

Unit 42 notes the source IPs are pre-PoC indicators (early-exploitation infrastructure) and may rotate after public PoC release — treat IPs as perishable (detect, +3 mo) and lean on the behavioral fingerprints for durable coverage. Confirm the exact affected PAN-OS train against the PSIRT advisory for your version.

03

Hunt Brief & Attack Chain

Hunt hypotheses (fidelity-ordered)

  1. H1 (high): A GlobalProtect connection originated from one of the published exploitation IPs. T1190 / T1133
  2. H2 (high): A GlobalProtect session presents a hard-coded PoC fingerprint — placeholder MAC, template hostname, or hard-coded OS string. T1190 / T1078
  3. H3 (high): A successful gateway connection with an empty domain field or otherwise malformed client metadata. T1078
  4. H4 (medium): A gateway session established without a corresponding successful authentication event — the bypass logic anomaly. T1190
  5. H5 (medium): A spike of GlobalProtect connections from new/rare source ASNs or geographies. T1133
  6. H6 (medium): Post-VPN internal activity from a VPN-pool address — scanning or lateral movement (if endpoint-covered). T1021 / T1046

Attack chain

#StepTelemetryHunt Angle
1Attacker reaches internet-exposed GlobalProtect portal/gatewayGlobalProtect / traffic logsConnection from published IPs (Q1)
2Auth bypass → VPN session without valid credsGlobalProtect auth/system logsSession w/o successful auth (Q4)
3PoC client presents placeholder identityGlobalProtect client metadataPoC fingerprints (Q2); empty domain (Q3)
4Anomalous source distributionGlobalProtect logsRare-source spike (Q5)
5(Potential) internal movement from VPN poolEndpoint / internal NetFlowVPN-pool lateral movement (Q6)
04

Consolidated IOC Table

TypeValueConfActionContext
ipv423.128.228.6highdetectPre-PoC exploitation source
ipv4104.207.144.154highdetectPre-PoC exploitation source
ipv4146.19.216.119, .120, .125highdetectPre-PoC exploitation source
ipv4179.43.172.213highdetectPre-PoC exploitation source
ipv4185.195.232.139highdetectPre-PoC exploitation source
ipv4198.12.106.60highdetectPre-PoC exploitation source
ipv4202.144.192.47highdetectPre-PoC exploitation source
macaa:bb:cc:dd:ee:ff, 00:11:22:33:44:55highhuntPlaceholder MACs in PoC client
hostnameWINDOWS-LAPTOP-001, DESKTOP-GP01, GP-CLIENThighhuntTemplate hostnames
artifactClient OS Windows 10 Pro 64-bit + empty domainmediumhuntHard-coded PoC metadata
cveCVE-2026-0257highdetectGlobalProtect portal/gateway auth bypass
05

Affected Surface & Telemetry Matrix

SurfaceTelemetry NeededPriorityGap Risk
PAN-OS firewall with GlobalProtect portal/gateway enabled (internet-facing)GlobalProtect auth + system logs forwarded to NGSIEM/PanoramaCriticalHigh — firewall is sensor-less; logs must be forwarded
VPN address pool → internal networkInternal NetFlow / firewall traffic logs from VPN poolHighEast-west visibility gaps
Internal hosts reachable from VPN poolUserLogon, ProcessRollup2 (Falcon-covered hosts)MediumLow if endpoints covered

Telemetry reality: The CQL in §8 assumes GlobalProtect logs are ingested into NGSIEM/LogScale (a custom repo). Field names depend on your PAN-OS parser — validate against your ingest. Q6 is a Falcon endpoint query for internal hosts.

06

ATT&CK Mapping

TacticTechniqueObserved BehaviorQuery / Control
Initial AccessT1190 Exploit Public-Facing AppGlobalProtect auth bypassQ1 / Q4 · harden §12
Initial AccessT1133 External Remote ServicesUnauthorized VPN sessionQ1 / Q5
Defense Evasion / PersistenceT1078 Valid Accounts (bypassed)Session w/ placeholder identity, empty domainQ2 / Q3
DiscoveryT1046 Network Service Discovery(Potential) scanning from VPN poolQ6
Lateral MovementT1021 Remote Services(Potential) movement from VPN poolQ6
07

Native Audit-Log Hunts (non-CQL)

  • GlobalProtect logs (firewall / Panorama): filter for successful gateway connections from the published source IPs, and for sessions where the source-region/source-user is unexpected.
  • Client metadata search: query GlobalProtect logs for the template hostnames (WINDOWS-LAPTOP-001, DESKTOP-GP01, GP-CLIENT), the placeholder MACs, and sessions with an empty domain field.
  • Auth-vs-session correlation: list gateway sessions that have no matching successful authentication event — the bypass signature.
  • Version/exposure check: confirm which firewalls run a GlobalProtect-enabled PAN-OS version affected by CVE-2026-0257 and whether the fix is applied; confirm the portal/gateway is only exposed where required.
  • VPN-pool egress review: on internal firewall/NetFlow, look for scanning or SMB/RDP from VPN-pool addresses shortly after a suspect session.
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
⚠ Q1–Q5 run against ingested GlobalProtect logs (NGSIEM/LogScale custom repo), not Falcon endpoint events. Replace #repo=panos_globalprotect and the parsed field names with your ingest's actual values. Q6 is a Falcon endpoint query for internal hosts.
Q1 · GlobalProtect connection from published exploitation IPs
CONF HIGHFP LOWCOST LOW

Looks for: any GlobalProtect connection sourced from the Unit 42 IP list. Very low FP for the exact IPs; treat as perishable as infra rotates.

// HUNT: GlobalProtect connection from CVE-2026-0257 source IPs
// MITRE: T1190, T1133
// CONF: high  FP: low  COST: low | REQUIRES: ingested GlobalProtect logs
// FALSE POSITIVES: none for exact IPs; rotate as infra changes
#repo=panos_globalprotect
| src_ip=/^(23\.128\.228\.6|104\.207\.144\.154|146\.19\.216\.(119|120|125)|179\.43\.172\.213|185\.195\.232\.139|198\.12\.106\.60|202\.144\.192\.47)$/
| table([@timestamp, src_ip, srcuser, public_ip, event], limit=max)
Q2 · PoC client fingerprints (template hostname / placeholder MAC)
CONF HIGHFP LOWCOST LOW

Looks for: sessions presenting the hard-coded PoC device names or placeholder MACs. Corporate clients do not use these, so FP is very low.

// HUNT: GlobalProtect PoC client fingerprints
// MITRE: T1190, T1078
// CONF: high  FP: low  COST: low | REQUIRES: ingested GP client metadata
// FALSE POSITIVES: none expected; placeholder identities are not real assets
#repo=panos_globalprotect
| @rawstring=/WINDOWS-LAPTOP-001|DESKTOP-GP01|GP-CLIENT|aa:bb:cc:dd:ee:ff|00:11:22:33:44:55/i
| table([@timestamp, src_ip, srcuser, machinename, mac, event], limit=200)
Q3 · Successful gateway session with empty domain / malformed metadata
CONF MEDFP MEDCOST LOW

Looks for: a successful GlobalProtect gateway connection whose domain field is empty alongside a hard-coded OS string. FP: some legitimate non-domain-joined clients have empty domains — pair with Q1/Q2 or rare-source context before alerting.

// HUNT: GP gateway success with empty domain + hard-coded OS
// MITRE: T1078
// CONF: medium  FP: medium  COST: low | REQUIRES: ingested GP auth logs
// FALSE POSITIVES: legit non-domain-joined clients
// TUNING: combine with Q1/Q2 or rare source ASN; exclude known BYOD pools
#repo=panos_globalprotect
| event=/gateway/i AND status=/success/i
| domain="" AND os=/Windows 10 Pro 64-bit/i
| table([@timestamp, src_ip, srcuser, machinename, os, domain], limit=200)
Q4 · Gateway session with no preceding successful auth (bypass logic)
CONF MEDFP MEDCOST MED

Looks for: a gateway "connected" event for a source/user that has no matching successful authentication event in the window — the bypass anomaly. FP: session-resume / cached-cookie reconnects and parser timing — tune the window and exclude reconnect events.

// HUNT: GP gateway connect without a successful auth event
// MITRE: T1190
// CONF: medium  FP: medium  COST: medium | REQUIRES: ingested GP auth + gateway logs
// FALSE POSITIVES: cookie/session resume; parser timing
// TUNING: widen/narrow the bucket; exclude reconnect/resume event subtypes
#repo=panos_globalprotect
| case {
    event=/gateway-connect|gw-connect/i        | is_connect := 1 ;
    event=/auth-success|authentication.*success/i | is_auth := 1 ;
    * | is_other := 1 ;
  }
| groupBy([src_ip, srcuser], function=[sum(is_connect, as=connects), sum(is_auth, as=auths)])
| connects > 0
| auths = 0
| sort(connects, order=desc)
Q5 · Rare-source spike in GlobalProtect connections
CONF MEDFP MEDCOST LOW

Looks for: source IPs newly appearing in GlobalProtect logs, ranked by rarity. FP: travelling users / new offices — baseline known egress ranges and exclude them.

// HUNT: rare-source GlobalProtect connections
// MITRE: T1133
// CONF: medium  FP: medium  COST: low | REQUIRES: ingested GP logs
// FALSE POSITIVES: travelling users, new sites
// TUNING: exclude known corporate egress CIDRs and traveller patterns
#repo=panos_globalprotect
| event=/gateway|portal/i
| groupBy([src_ip], function=[count(as=hits), collect([srcuser])])
| sort(hits, order=asc)
Q6 · Lateral movement / scanning from a VPN-pool host (endpoint)
CONF MEDFP MEDCOST MED

Looks for: internal hosts receiving many distinct inbound connections from a VPN-pool source — fan-out indicative of scanning/lateral movement after a bypassed VPN session. FP: legitimate admin tools and vuln scanners — exclude sanctioned scanner IPs. Replace the CIDR with your VPN pool.

// HUNT: fan-out from VPN-pool source (post-bypass lateral movement)
// MITRE: T1046, T1021
// CONF: medium  FP: medium  COST: medium | REQUIRES: NetworkConnectIP4 (Falcon)
// FALSE POSITIVES: sanctioned scanners, admin tooling
// TUNING: set the VPN-pool CIDR; exclude approved scanner source IPs
#event_simpleName=NetworkConnectIP4
| RemoteAddressIP4=/^10\.99\.0\./
| groupBy([RemoteAddressIP4], function=[count(LocalAddressIP4, distinct=true, as=targets)])
| targets > 25
| sort(targets, order=desc)
09

CrowdStrike Custom IOA Recommendations

DetectionPatternExclusionsAction
GP Exploitation IP (NGSIEM scheduled search)GlobalProtect connection from published IP (Q1)NoneAlert — Critical
GP PoC Fingerprint (scheduled search)Template hostname / placeholder MAC (Q2)NoneAlert — Critical
VPN-pool Fan-out (Custom IOA, endpoint)Single VPN-pool source → many internal hosts (Q6)Sanctioned scannersDetect

The firewall is sensor-less, so the primary alerts are NGSIEM scheduled searches (Q1, Q2). Q6 becomes a Custom IOA on endpoints to catch any post-bypass internal movement.

10

Machine-Readable IOC Appendix

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
ipv4,23.128.228.6,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,104.207.144.154,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,146.19.216.119,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,146.19.216.120,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,146.19.216.125,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,179.43.172.213,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,185.195.232.139,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,198.12.106.60,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
ipv4,202.144.192.47,detect,high,2026-09-14,CVE-2026-0257 GP exploitation source,campaign:PANOS-GP-CVE-2026-0257
PoC Client Fingerprintshunt logic
Hostnames: WINDOWS-LAPTOP-001, DESKTOP-GP01, GP-CLIENT
MAC: aa:bb:cc:dd:ee:ff
MAC: 00:11:22:33:44:55
Client OS: Windows 10 Pro 64-bit (hard-coded)
Domain field: empty
=> GP gateway session matching any of these = exploitation
Scoping / Contextwhere to look
Product: PAN-OS GlobalProtect portal + gateway
Vuln: authentication bypass (unauthenticated VPN session)
Evidence: GlobalProtect auth/system logs (firewall/Panorama)
Note: IOC IPs are pre-PoC and may rotate post-disclosure
Behavioral fingerprints are the durable detection
Exposure / Patch Auditremediation gate
CVE-2026-0257 — apply Palo Alto PSIRT fix for your PAN-OS train
Audit: confirm affected GlobalProtect-enabled version
Audit: GlobalProtect logs forwarded to NGSIEM? (y/n)
Audit: Q1 + Q2 scheduled-search alerts enabled? (y/n)
Action on match: force re-auth, kill session, block source IP
11

Detection Validation Gates

GateCheckPass Criteria
Telemetry readyGlobalProtect auth + gateway logs land in NGSIEM (#repo=panos_globalprotect or equivalent)Events visible; src_ip / machinename / domain fields parsed
BaselineRun Q3 + Q5 over 14 days; catalog legitimate empty-domain clients and known source rangesExclusions captured before alerting
Positive testConnect a lab GP client with hostname GP-CLIENT and an empty domainQ2 fires; Q3 records it
PromotionQ1 + Q2 reviewed clean for 7 daysPromote to Critical scheduled-search alerts
12

Hardening — Tiered & Deployable

Immediate (this week)
  • Apply the Palo Alto fix for CVE-2026-0257 to all GlobalProtect-enabled PAN-OS firewalls. (MITRE M1051 Update Software)
  • Forward GlobalProtect logs to NGSIEM/Panorama and enable the Q1 + Q2 alerts. (M1047 Audit)
  • Block the published exploitation source IPs at the perimeter as a stop-gap. (M1037 Filter Network Traffic)
Near term (1–4 weeks)
  • Enforce MFA / certificate-based auth on GlobalProtect so a bypassed credential check alone cannot yield a usable session. (M1032 MFA)
  • Restrict portal/gateway exposure — geo/source filtering where the user base allows. (M1035 Limit Access to Resource Over Network)
  • Segment the VPN address pool from sensitive internal zones; require step-up auth to reach crown jewels. (M1030 Network Segmentation)
Strategic (1–3 months)
  • Device-posture / HIP checks so only managed, attested endpoints complete a GlobalProtect connection — placeholder clients fail posture. (M1032 / M1026)
  • ZTNA migration reducing reliance on a flat VPN session for internal access. (M1035)
  • Continuous edge-appliance patch SLA & exposure monitoring for all internet-facing VPN/firewall services. (M1051 / M1047)
13

Deployable Playbooks

1 — NGSIEM scheduled-search alert (LogScale) for Q1 + Q2 combined

# Schedule recurring; severity Critical; notify SOC on any result.
#repo=panos_globalprotect
| src_ip=/^(23\.128\.228\.6|104\.207\.144\.154|146\.19\.216\.(119|120|125)|179\.43\.172\.213|185\.195\.232\.139|198\.12\.106\.60|202\.144\.192\.47)$/
  OR @rawstring=/WINDOWS-LAPTOP-001|DESKTOP-GP01|GP-CLIENT|aa:bb:cc:dd:ee:ff|00:11:22:33:44:55/i

2 — Block the exploitation source IPs (PAN-OS CLI EDL/address-group)

# Add to a deny address-group applied on the GlobalProtect zone.
set address-group GP-CVE-2026-0257-BLOCK static [ \
  H-23.128.228.6 H-104.207.144.154 H-146.19.216.119 H-146.19.216.120 \
  H-146.19.216.125 H-179.43.172.213 H-185.195.232.139 H-198.12.106.60 \
  H-202.144.192.47 ]
# Reference this group in a top-of-rulebase deny for the GP interface.

3 — Respond to a confirmed bypassed session

# On the firewall (or via Panorama), for the offending user/IP:
#  1. Terminate the GlobalProtect session
request global-protect-gateway client-logout gateway <GW_NAME> user <USER> reason force
#  2. Block the source IP (see playbook 2)
#  3. Force MFA re-enrollment / credential reset for any impacted account
14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateTerminate suspect GlobalProtect sessions; block published source IPs; tighten portal/gateway exposureNetwork / SOCSession-logout record; deny-rule change
EradicateApply CVE-2026-0257 fix; confirm no persistence on internal hosts reached from the VPN pool; reset any impacted credentialsIR / NetworkPatch evidence; endpoint scan results
RecoverRe-enable normal access behind MFA/posture checks; validate clean GlobalProtect logsNetworkClean-log confirmation
Assess scopeReview VPN-pool egress and internal logs for movement from any bypassed sessionIRNetFlow / endpoint timeline
15

Detection Coverage Map

TechniqueBehaviorCQLIOA/AlertCoverage
T1190/T1133Auth bypass from known infraQ1✓ (scheduled search)Good (if logs ingested)
T1078PoC fingerprint / empty domainQ2,Q3Good
T1190Session w/o auth (bypass logic)Q4Partial (parser-dependent)
T1133Rare-source spikeQ5Partial (baseline-dependent)
T1046/T1021Lateral movement from VPN poolQ6conditionalPartial (needs endpoint coverage)

Known gaps: the firewall is sensor-less, so all edge coverage depends on forwarding GlobalProtect logs to NGSIEM (§12 Immediate). IOC IPs are pre-PoC and perishable — the behavioral fingerprints (Q2/Q3) carry durable coverage. No post-access TTPs were published, so Q6 is a precautionary net rather than a confirmed-behavior detection. Validate parser field names before promoting any query.

16

Hunt Summary Ticket

TITLE:       Hunt — PAN-OS GlobalProtect Auth Bypass CVE-2026-0257
SEVERITY:    High (exploited ITW; unauthenticated VPN session; no post-access yet)
SCOPE:       All GlobalProtect-enabled PAN-OS firewalls (internet-facing)
HYPOTHESIS:  Unauthenticated actor bypassed GP portal/gateway auth to establish
             a VPN session; PoC clients carry placeholder identity fingerprints
QUERIES:     Q1 known IPs · Q2 PoC fingerprints · Q3 empty-domain success
             Q4 session w/o auth · Q5 rare-source spike · Q6 VPN-pool fan-out
DO FIRST:    Apply PSIRT fix; forward GP logs to NGSIEM; enable Q1+Q2 alerts;
             block published source IPs
FINDINGS:    <record src_ip, machinename, domain, session times>
GAPS:        Sensor-less firewall; IOC IPs perishable; no post-access TTPs known
ACTIONS:     Kill session, block IP, force MFA re-auth, patch, assess VPN-pool egress
OWNER:       HuntPack
VERSION:     v0.2 (2026-06-14)
17

Changelog

v0.22026-07-24CQL correctness pass. All table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.
v0.12026-06-14Initial HuntPack — 6 queries (5 NGSIEM log-based, 1 endpoint), NGSIEM alert recs, hardening, PAN-OS playbooks, containment. Built from Unit 42 threat brief + Palo Alto PSIRT (CVE-2026-0257, published 2026-06-09).
18

References

TierSourceUsed ForAccess Date
1Unit 42 — Active Exploitation of PAN-OS CVE-2026-0257Exploitation, IOCs, PoC fingerprints2026-06-14
1Palo Alto Networks PSIRT — CVE-2026-0257Affected versions, fix, auth-bypass detail2026-06-14

Confirm the exact affected PAN-OS version train and the fixed release against the Palo Alto PSIRT advisory for your deployment before patching.