{"id":"CVE-2007-4556","aliases":["EUVD-2022-4099","GHSA-h7mf-qrm9-2848"],"status":"published","title":"OpenSymphony XWork vulnerable to improper input validation","description":"Struts support in OpenSymphony XWork before 1.2.3, and 2.x before 2.0.4, as used in WebWork and Apache Struts, recursively evaluates all input as an Object-Graph Navigation Language (OGNL) expression when altSyntax is enabled, which allows remote attackers to cause a denial of service (infinite loop) or execute arbitrary code via form input beginning with a \"%{\" sequence and ending with a \"}\" character.","severity":{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.25749,"percentile":0.97982,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2007-08-28T01:00:00Z","modified":"2026-06-16T22:44:19Z","exploits":[{"source":"nuclei","id":"CVE-2007-4556","title":"OpenSymphony XWork/Apache Struts2 - Remote Code Execution","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2007/CVE-2007-4556.yaml"}],"fixes":[{"ecosystem":"Maven","package":"opensymphony:xwork","fixed_in":["1.2.3","2.0.4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"opensymphony:xwork","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.3"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"opensymphony:xwork","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"last_affected":"2.0.3"},{"fixed":"2.0.4"}]}]},{"source":"osv","ecosystem":"Maven","package":"opensymphony:xwork","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.3"}]}],"versions":["1.0","1.0.1","1.0.3","1.0.4","1.0.5","1.1","1.1.1","1.1.3","1.2","1.2.1","1.2.2"]},{"source":"osv","ecosystem":"Maven","package":"opensymphony:xwork","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.0.4"}]}],"versions":["2.0.0","2.0.0-j4","2.0.1","2.0.1-j4","2.0.2","2.0.3"]}],"products":[{"vendor":"opensymphony","product":"xwork"}],"references":[{"url":"http://www.securityfocus.com/bid/25524","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry"]},{"url":"http://jira.opensymphony.com/browse/XW-544","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory"]},{"url":"http://issues.apache.org/struts/browse/WW-2030","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory"]},{"url":"http://www.vupen.com/english/advisories/2007/3041","tags":["vdb-entry","x_refsource_VUPEN","x_transferred","Third Party Advisory"]},{"url":"http://forums.opensymphony.com/ann.jspa?annID=54","tags":["x_refsource_CONFIRM","x_transferred","Patch","Vendor Advisory"]},{"url":"http://www.vupen.com/english/advisories/2007/3042","tags":["vdb-entry","x_refsource_VUPEN","x_transferred","Third Party Advisory"]},{"url":"http://secunia.com/advisories/26693","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","Third Party Advisory"]},{"url":"http://secunia.com/advisories/26681","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","Third Party Advisory"]},{"url":"http://wiki.opensymphony.com/display/WW/1.2.3+Press+Release","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory"]},{"url":"http://jira.opensymphony.com/secure/ReleaseNote.jspa?projectId=10050\u0026styleName=Html\u0026version=21706","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory"]},{"url":"http://osvdb.org/37072","tags":["vdb-entry","x_refsource_OSVDB","x_transferred","Broken Link"]},{"url":"http://struts.apache.org/2.x/docs/s2-001.html","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","web"]},{"url":"http://jira.opensymphony.com/secure/ReleaseNote.jspa?projectId=10050\u0026styleName=Html\u0026version=21701","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory"]},{"url":"http://secunia.com/advisories/26694","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","Third Party Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2007-4556","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-h7mf-qrm9-2848"}],"sources":{"cve":[{"id":"CVE-2007-4556","description":"Struts support in OpenSymphony XWork before 1.2.3, and 2.x before 2.0.4, as used in WebWork and Apache Struts, recursively evaluates all input as an Object-Graph Navigation Language (OGNL) expression when altSyntax is enabled, which allows remote attackers to cause a denial of service (infinite loop) or execute arbitrary code via form input beginning with a \"%{\" sequence and ending with a \"}\" character.","status":"published","published":"2007-08-28T01:00:00Z","modified":"2024-08-07T15:01:09.871Z","updated_at":"2026-11-02T13:33:30.262137Z"}],"euvd":[{"id":"EUVD-2022-4099","description":"Struts support in OpenSymphony XWork before 1.2.3, and 2.x before 2.0.4, as used in WebWork and Apache Struts, recursively evaluates all input as an Object-Graph Navigation Language (OGNL) expression when altSyntax is enabled, which allows remote attackers to cause a denial of service (infinite loop) or execute arbitrary code via form input beginning with a \"%{\" sequence and ending with a \"}\" character.","status":"published","published":"2007-08-28T01:00:00Z","modified":"2024-08-07T15:01:09Z","updated_at":"2026-11-03T01:16:20.592518Z"}],"ghsa":[{"id":"GHSA-h7mf-qrm9-2848","title":"OpenSymphony XWork vulnerable to improper input validation","description":"XWork is an command-pattern framework that is used to power WebWork as well as other applications. Struts support in OpenSymphony XWork before 1.2.3, and 2.x before 2.0.4, as used in WebWork and Apache Struts, recursively evaluates all input as an Object-Graph Navigation Language (OGNL) expression when altSyntax is enabled, which allows remote attackers to cause a denial of service (infinite loop) or execute arbitrary code via form input beginning with a \"%{\" sequence and ending with a \"}\" character. \n\nNote: Version 2.0.4 marks the change from `opensymphony:xwork` to `com.opensymphony:xwork`.","status":"published","published":"2022-05-01T18:24:47Z","modified":"2023-09-11T20:52:36Z","cwes":["CWE-20"],"updated_at":"2026-11-02T14:37:03.916765Z"}],"nvd":[{"id":"CVE-2007-4556","description":"Struts support in OpenSymphony XWork before 1.2.3, and 2.x before 2.0.4, as used in WebWork and Apache Struts, recursively evaluates all input as an Object-Graph Navigation Language (OGNL) expression when altSyntax is enabled, which allows remote attackers to cause a denial of service (infinite loop) or execute arbitrary code via form input beginning with a \"%{\" sequence and ending with a \"}\" character.","status":"published","published":"2007-08-28T01:17:00Z","modified":"2026-06-16T22:44:19.15Z","cvss":[{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"updated_at":"2026-11-02T14:01:19.102336Z"}],"osv":[{"id":"GHSA-h7mf-qrm9-2848","title":"OpenSymphony XWork vulnerable to improper input validation","description":"XWork is an command-pattern framework that is used to power WebWork as well as other applications. Struts support in OpenSymphony XWork before 1.2.3, and 2.x before 2.0.4, as used in WebWork and Apache Struts, recursively evaluates all input as an Object-Graph Navigation Language (OGNL) expression when altSyntax is enabled, which allows remote attackers to cause a denial of service (infinite loop) or execute arbitrary code via form input beginning with a \"%{\" sequence and ending with a \"}\" character. \n\nNote: Version 2.0.4 marks the change from `opensymphony:xwork` to `com.opensymphony:xwork`.","status":"published","published":"2022-05-01T18:24:47Z","modified":"2024-11-30T05:49:41.112357Z","cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:48.920784Z"}]}}
