CVE-2016-3081 exploitation attempt
SIGhighconfidence 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.
- Linked CVE
- CVE-2016-3081
- 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.
Sigma rule
skopnix-sigma-cve-cve-2016-3081-b9df2e80.ymldownload .yml ↓title: Skopnix - CVE-2016-3081 exploitation attempt
id: 21b6bbec-a769-5a27-92b8-1fc24e1585c3
status: experimental
description: Web request carrying the exploit observable of CVE-2016-3081 (CISA KEV, EPSS 0.95, public PoC), taken from the public nuclei template.
references:
- https://skopnix.com/cve/CVE-2016-3081
- https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2016/CVE-2016-3081.yaml
- https://nvd.nist.gov/vuln/detail/CVE-2016-3081
author: skopnix
date: '2026-10-18'
tags:
- attack.initial-access
- attack.t1190
- cve.2016-3081
logsource:
category: webserver
detection:
selection_1:
cs-uri-stem|contains: /index.action
cs-uri-query|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
condition: selection_1
falsepositives:
- Vulnerability scanners and authorised penetration tests (attempts, not compromise)
level: critical
How to deploy on Sigma
- 1.Convert for your SIEM with sigma-cli / pySigma, e.g. sigma convert -t splunk -p sysmon rule.yml.
- 2.Run it as a hunt first: every rule ships as status experimental.
- 3.Promote to an alert once a week of results is clean on your data.
Check · The processing pipeline must map the logsource (firewall, dns, proxy, webserver, process_creation) to your field names.