CVE-2016-3081 exploitation attempt
XQLhighconfidence 90/100generated 2026-10-18
Web request carrying the exploit observable of CVE-2016-3081 (CISA KEV, EPSS 0.95, public PoC), taken from the public nuclei template.
- Correlation
- set the rule's MITRE tactic to initial-access and technique to T1190
- Linked CVE
- CVE-2016-3081
- Requires
- PAN-OS URL filtering logs in Cortex (panw_ngfw_url_raw); HTTPS needs decryption
- False positives
- Keys on the distinctive part of the exploit request only (path traversal, exploit syntax in the query, an unusual parameter) — never on an endpoint the product serves in normal use. Needs raw request-URI logging (some web servers normalise ../ away). Scanners hitting the internet produce true-positive ATTEMPTS: correlate with sc-status / response size before declaring compromise.
XQL query
skopnix-cortex-cve-cve-2016-3081-c0dc6a27.xqldownload .xql ↓dataset = panw_ngfw_url_raw
| filter (uri contains "/index.action" and uri contains "method:%23_memberAccess%3d@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding%5B0%5D),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23parameters.cmd%5B0%5D).getInputStream()).useDelimiter(%23parameters.pp%5B0%5D),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp%5B0%5D,%23w.print(%23str),%23w.close(),1?%23xx:%23request.toString")
| fields _time, source_ip, dest_ip, url_domain, uri, url_category
| sort desc _time
How to deploy on Cortex XDR
- 1.Paste the XQL into Incident Response > Investigation > Query Builder > XQL Search.
- 2.To alert, save it as a Correlation Rule and set the MITRE tactic and technique printed with the rule.
- 3.Schedule it on the interval you hunt at; keep the fields stage for the alert's columns.
Check · CVE rules read PAN-OS URL logs (panw_ngfw_url_raw), which need the NGFW integration and, for HTTPS, decryption.