{"id":"CVE-2017-9791","kind":"vulnerability","aliases":["CVE-2017-9791"],"related":[],"title":"Apache Struts 1: Apache Struts 1 Improper Input Validation Vulnerability","description":"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.\n\nCISA required action: Apply updates per vendor instructions.","summary":"The Struts 1 plugin in Apache Struts 1 can be made to run code on the server when a crafted field value is passed in a raw message to ActionMessage. An attacker who sends such a request can execute commands with the privileges of the application.","severity":"critical","cvss":9.8,"epss":0.98908,"exploited":true,"exploited_at":"2022-02-10T00:00:00+00:00","products":[{"name":"Apache Struts 1","fixed":[],"affected":"","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["apache-struts","exploited","java","runtime","self-hosted"],"not_affected_if":["struts-1-not-deployed"],"how_to_check":null,"fix":"Apply updates per vendor instructions; the sources do not name a fixed version.","status":"open","published_at":"2017-07-10T16:29:00+00:00","first_seen_at":"2026-10-23T19:11:53+00:00","triaged_at":"2026-10-23T21:28:54+00:00","updated_at":"2026-10-23T21:57:35+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-23T21:28:54Z","model":"claude-haiku-5-5","output":{"fix":"Apply updates per vendor instructions; the sources do not name a fixed version.\nunknown","reach":"internet","impact":"high","summary":"The Struts 1 plugin in Apache Struts 1 can be made to run code on the server when a crafted field value is passed in a raw message to ActionMessage. An attacker who sends such a request can execute commands with the privileges of the application.","category":"runtime","who_cares":["apache-struts","java","self-hosted"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker runs arbitrary code on the server remotely.","analyst_note":"Find the fixed Struts 1 version and the exact trigger condition (plugin enabled, feature used) at the Apache Struts security bulletin for CVE-2017-9791 and the NVD entry.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["struts-1-not-deployed"],"user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000462,"input_tokens":2828,"output_tokens":359,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2017':12A,15A '-9791':13A,16A '1':3A,6A,19A,31B,36B,77C 'action':102C 'actionmessag':58B,99C 'allow':83C 'apach':1A,4A,21B,34B,80C 'apache':17A 'apache-strut':20B 'appli':103C 'applic':74B 'attack':60B 'cisa':100C 'code':42B,85C 'command':68B 'craft':48B 'cve':11A,14A 'execut':67B,86C 'exploit':23B 'field':49B,90C 'host':28B 'improp':7A 'input':8A 'instruct':107C 'java':24B 'made':39B 'malici':89C 'messag':56B,96C 'might':82C 'pass':52B,92C 'per':105C 'plugin':32B,78C 'privileg':71B 'raw':55B,95C 'remot':84C 'request':65B 'requir':101C 'run':41B 'runtim':25B 'self':27B 'self-host':26B 'send':62B 'server':45B 'strut':2A,5A,22B,30B,35B,76C,81C 'struts':18A 'updat':104C 'valid':9A 'valu':50B,91C 'vendor':106C 'via':87C 'vulner':10A","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2017-07-10T16:29:00+00:00","kev":{"dateAdded":"2022-02-10","dueDate":"2022-08-10","requiredAction":"Apply updates per vendor instructions.","knownRansomwareCampaignUse":"Unknown"},"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"nvd@nist.gov","poc_count":0,"sources":[{"source":"kev","external_id":"CVE-2017-9791","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2017-9791","severity":null,"published_at":"2022-02-10T00:00:00+00:00","modified_at":null,"first_seen_at":"2026-10-23T19:11:53+00:00","fetched_at":"2026-10-25T17:39:58+00:00","note":null},{"source":"epss","external_id":"CVE-2017-9791","url":"https://api.first.org/data/v1/epss?cve=CVE-2017-9791","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:44+00:00","fetched_at":"2026-10-23T19:13:44+00:00","note":null},{"source":"nvd","external_id":"CVE-2017-9791","url":"https://nvd.nist.gov/vuln/detail/CVE-2017-9791","severity":null,"published_at":"2017-07-10T16:29:00+00:00","modified_at":"2026-06-17T01:28:55+00:00","first_seen_at":"2026-10-23T21:57:35+00:00","fetched_at":"2026-10-23T21:57:35+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}