Actively exploited

CVE-2017-9791 Apache Struts 1 Improper Input Validation Vulnerability

The Struts 1 plugin in Apache Struts might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.

From the CISA KEV catalogue version 2026.11.06, with Cybergen analysis. Updated 6 Nov 2026.

Our Assessment

Should You Worry?

Patch nowCybergen assessment
  • CISA confirmed exploitation in the wild and added it to the Known Exploited Vulnerabilities catalogue on 10 Feb 2022.
  • Rated Critical severity (CVSS 9.8, scored by CISA).
  • It has been in the catalogue for 1,730 days. Systems still unpatched now have almost certainly been scanned for it.
The Vulnerability

What It Is

The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.

Affected Versions

ProductVersions
Apache Software Foundation Apache Struts2.1.x series
2.3.x series

From the public CVE record, as supplied by the vendor. Always confirm against the vendor advisory.

From Watch to Action

What To Do Now

  1. 1

    Find it

    Search your asset inventory and external attack surface for Apache Struts 1. Include cloud images, appliances and anything a supplier runs for you.

    Attack Surface Management
  2. 2

    Fix it

    Apply updates per vendor instructions.

    Vulnerability Management
  3. 3

    Hunt for compromise

    If an affected system was reachable before you patched, assume it may have been hit. Check logs, new accounts, web shells and outbound connections from the date of exposure.

    Incident Response
  4. 4

    Prove it is fixed

    Rescan or test the system after patching. Upgrades that fail silently and forgotten secondary instances are common.

    Penetration Testing

Not Sure If You Are Exposed?

Our attack surface and vulnerability teams can check your internet-facing estate for CVE-2017-9791 and every other exploited flaw on the list.

Check My Exposure