What it is
CVE-2021-31805 is an unauthenticated vulnerability affecting Apache Apache Struts. The fix issued for CVE-2020-17530 was incomplete. So from Apache Struts 2.0.0 to 2.5.29, still some of the tag’s attributes could...
Vulnerability report
Apache Struts Remote Code Execution
Apache / Apache Struts · 2.0.0 to 2.5.29
Decision summary
Direct answers before the deeper technical record.
What it is
CVE-2021-31805 is an unauthenticated vulnerability affecting Apache Apache Struts. The fix issued for CVE-2020-17530 was incomplete. So from Apache Struts 2.0.0 to 2.5.29, still some of the tag’s attributes could...
Is it exploited?
Yes. Previdian sensors observed exploitation attempts with confirmed confidence.
Who is affected?
Apache / Apache Struts 2.0.0 to 2.5.29.
What should we do?
Patch immediately, validate internet-facing exposure, and monitor for matching requests.
Overview
The fix issued for CVE-2020-17530 was incomplete. So from Apache Struts 2.0.0 to 2.5.29, still some of the tag’s attributes could perform a double evaluation if a developer applied forced OGNL evaluation by using the %{...} syntax.
Using forced OGNL evaluation on untrusted user input can lead to a Remote Code Execution and security degradation.
Exploitation evidence
Third-party attestation and first-party sensor observation are shown separately so teams can judge the evidence chain.
Previdian
Previdian independently recorded this as exploited after first seeing it in honeypot sensors.
Previdian sensor
Previdian first observed exploitation attempts targeting this vulnerability in our honeypot sensors.
GitHub
Public scanner or PoC coverage increases practical exploitability.
Per-source evidence links for KEV attestations are available through the Previdian Pro API.
Learn about Pro API access| Source | Added |
|---|---|
| Previdian First | 2026-06-12 00:32 UTC |
Operational indicators for this CVE are listed under Detection.
Sensor telemetry
Previdian sensors recorded exploitation attempts targeting this vulnerability. The cards and chart show volume, unique attackers, and daily activity.
4
Attempts observed
4
Unique attacker IPs
3
Attacker countries
FI · FR · US
4
Sensors observed
CVE-2021-31805 exploitation attempts over the last 91 days
Daily events observed by Previdian sensors
Updated 13 Sep 2026
First observed 12 Jun 2026 · Last observed 09 Sep 2026
Pro adds sensor region and window summaries. Enterprise adds raw IPs, paths, User-Agents, and payloads.
Detection
Make the evidence actionable in scanner, SOC, and edge-control workflows.
Request targets and User-Agents available in Pro. Callback host details available in Enterprise.
Nuclei template detected 25 Apr 2025.
View Nuclei template (opens in new tab)Previdian virtual patch guidance is available for this CVE.
Attacker IP indicators observed · available in Pro and Enterprise.
Sensor-derived attacker IP indicators are available to Pro and Enterprise accounts under Detection and through the Pro API.
Learn about Pro API accessScanner and exploit-framework references linked to this CVE.
| Scanner | Reference | Detected |
|---|---|---|
| Nuclei | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2021/CVE-2021-31805.yaml | 25 Apr 2025 |
Compensating WAF rules for this CVE.
Enterprise feature. Virtual patch rule content and deployable vendor exports (ModSecurity, Cloudflare, AWS WAF) are available to Previdian Enterprise users.
Risk and context
CVSS v3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS
85.4%
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AV:N/AC:L/Au:N/C:P/I:P/A:P
These PoCs are unverified and could contain malware. Use at your own risk.
github · Created 2022-04-15 04:23:44 UTC · 35 stars · AI assessment 90%
S2-062 (CVE-2021-31805) / S2-061 / S2-059 RCE
nuclei · Created Unknown
Timeline
Compensating WAF rule available to block exploitation
Indicators of compromise recorded
Evidence-backed exploitation signal
Scanner coverage available
Public proof-of-concept code published
Vulnerability disclosed publicly
Identifier reserved by the CNA
Pro API
Confidence, exploit status, sensor telemetry, PoCs, scanner integrations, mentions, and tags are available programmatically for VM, SOC, and CTI workflows.
GET /api/v2/pro/kevs/CVE-2021-31805
Free JSON includes basic KEV fields{
"cve_id": "CVE-2021-31805",
"confidence": "Confirmed",
"cvss_score": 9.8,
"cvss_estimated": false,
"epss_score": 0.85433,
"exploit_status": {
"exploited_in_the_wild": true,
"active_exploitation_observed": true
},
"sensor_telemetry": { "attempts": 4, "sensors": 4 }
}