CVE-2017-9791

From Exploited flaws, HARD’s guide to the flaws being used in attacks · Checked
This article is about a flaw in Apache Struts 1. For every flaw being used in attacks, see Exploited flaws; for Apache’s, see Apache flaws being used in attacks.

CVE-2017-9791 is a security flaw in Apache Struts 1, a framework for building Java web applications. Attackers can run their own code on Apache Struts 1. The US Cybersecurity and Infrastructure Security Agency (CISA) added it to its catalog of flaws known to be used in attacks on 10 Feb 2022.[1]

Apache Struts 1 is business software or equipment. Most families won’t have it, but attackers break into it to get inside companies, and from there to what those companies hold about their customers, patients and staff.

Description

CISA calls it an improper input validation in Apache Struts 1. In its words: “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.”[1]

The underlying weakness is improper input validation (CWE-20), in MITRE’s list of common software weaknesses.[2]

It scores 9.8 out of 10 on the Common Vulnerability Scoring System, which rates it critical, scored by NVD using CVSS 3.1.[2]

Affected versions

NVD’s record doesn’t list version ranges for it. CISA names the product as Apache Struts 1.

Most families won’t have Apache Struts 1; it’s for whoever looks after IT at work.

Exploitation

CISA added it to its catalog of known exploited vulnerabilities on 10 Feb 2022, 1,676 days after it was made public. CISA lists a flaw only when it has reliable evidence of it being exploited, and gave US federal agencies until 10 Aug 2022 to fix it.[1]

FIRST’s Exploit Prediction Scoring System, which estimates how likely a flaw is to be used in attacks in the next 30 days from what it sees across the internet, puts it at 99%. That’s in the top 1% of the flaws it scores.[3]

CISA assesses it as automatable: attackers can run it against many targets at once.

CISA doesn’t say who was attacked, or how.

Fix

CISA’s required action: “Apply updates per vendor instructions.”[1]

  1. Check whether you use it.Apache Struts 1 is business software or equipment, so most families won’t have it. If you run a business, or work from home on company equipment, ask whoever looks after your IT.
  2. Send this page to your IT person.Ask them to confirm it’s fixed, or not in use. CISA gave US government agencies until 10 Aug 2022 to fix it.
  3. If it can’t be fixed, take it offline.CISA’s advice when there’s no fix is to stop using the product, or take it off the internet, until there is one.

You can’t fix someone else’s server, but you can watch for what follows a break-in like this: a breach notice, a password reset you didn’t ask for, or a scam message that knows things it shouldn’t. HARD watches for those for you and your family.

Timeline

DateEvent
The flaw is made public in the National Vulnerability Database, with a severity score of 9.8.[2]
CISA adds it to its catalog of flaws known to be used in attacks.[1]
CISA’s deadline for US government agencies to fix it.[1]
FIRST puts the odds of it being used in attacks in the next 30 days at 99%.[3]

See also

Other Apache Struts 1 flaws

Other Apache flaws

  • CVE-2016-3081, Apache Struts: command injection ·
  • CVE-2026-34486, Apache Tomcat: missing encryption of sensitive data ·
  • CVE-2026-34197, Apache ActiveMQ: improper input validation ·
  • CVE-2024-38475, Apache HTTP Server: improper escaping of output ·
  • CVE-2025-24813, Apache Tomcat: path equivalence ·

Other improper input validation flaws

  • CVE-2026-93952, Arista VeloCloud Orchestrator: improper input validation ·
  • CVE-2019-1068, Microsoft SQL Server: remote code execution ·
  • CVE-2026-12569, PTC Windchill and FlexPLM: improper input validation ·
  • CVE-2026-34910, Ubiquiti UniFi OS: improper input validation ·
  • CVE-2026-6973, Ivanti Endpoint Manager Mobile (EPMM): improper input validation ·

Added the same day

  • CVE-2021-36934, Microsoft Windows: SAM local privilege escalation ·
  • CVE-2020-0796, Microsoft SMBv3: remote code execution ·
  • CVE-2018-1000861, Jenkins Stapler Web Framework: stapler web framework deserialization of untrusted data ·
  • CVE-2017-8464, Microsoft Windows: shell (.lnk) remote code execution ·
  • CVE-2017-10271, Oracle WebLogic Server: corporation webLogic server remote code execution ·

Every Apache flaw on CISA’s list · Everything added in February 2022

References

  1. ^ Cybersecurity and Infrastructure Security Agency. “Apache Struts 1 Improper Input Validation Vulnerability”. Known Exploited Vulnerabilities Catalog, added 10 Feb 2022.
  2. ^ National Institute of Standards and Technology. “CVE-2017-9791 Detail”. National Vulnerability Database, published 10 Jul 2017.
  3. ^ FIRST. “Exploit Prediction Scoring System”. EPSS 0.989, percentile 99.9, 31 Oct 2026.
  4. CVE Program. “CVE-2017-9791”. The official CVE record.

This article is built from CISA’s catalog (version 2026.10.30), NVD’s record and FIRST’s scores, kept in HARD’s database and checked every morning. The plain English is HARD’s.