Apache Struts 2
Developer(s)Apache Software Foundation
Initial releaseOctober 10, 2006; 17 years ago (2006-10-10)
Stable release
6.1.2.1 / June 11, 2023; 7 months ago (2023-06-11)[1]
RepositoryStruts Repository
Written inJava
Operating systemCross-platform
PlatformCross-platform (JVM)
PredecessorApache Struts 1
TypeWeb framework
LicenseApache License 2.0
Websitestruts.apache.org

Apache Struts 2 is an open-source web application framework for developing Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model–view–controller (MVC) architecture. The WebWork framework spun off from Apache Struts 1 aiming to offer enhancements and refinements while retaining the same general architecture of the original Struts framework. In December 2005, it was announced that WebWork 2.2 was adopted as Apache Struts 2, which reached its first full release in February 2007.[2]

Struts 2 has a history of critical security bugs,[3] many tied to its use of OGNL technology;[4] some vulnerabilities can lead to arbitrary code execution. In October 2017, it was reported that failure by Equifax to address a Struts 2 vulnerability advised in March 2017 was later exploited in the data breach that was disclosed by Equifax in September 2017.[5][6]

Features

See also

Citations

  1. ^ "13 June 2023 - Apache Struts version 6.1.2.1 General Availability". Retrieved 19 June 2023.
  2. ^ About Apache Struts 2 Archived January 14, 2014, at the Wayback Machine
  3. ^ "Apache Struts : List of security vulnerabilities". cvedetails.com. Retrieved October 2, 2017.
  4. ^ Munoz, Alvaro (January 14, 2014). "Struts 2: OGNL Expression Injections". HPE.com. Retrieved October 2, 2017.[permanent dead link]
  5. ^ Chirgwin, Richard (October 2, 2017). "Equifax couldn't find or patch vulnerable Struts implementations". The Register. Retrieved October 2, 2017.
  6. ^ Goodin, Dan (October 2, 2017). "A series of delays and major errors led to massive Equifax breach". Ars Technica. Retrieved October 2, 2017.
  7. ^ Newton 2009, p. 9, §1 Struts and Agile Development - Actions.
  8. ^ Newton 2009, p. 258, §13 Rich Internet Applications - Dojo tags.
  9. ^ Newton 2009, p. 294, §12 Comprehensive Testing - Detour: Struts and Spring in a nutshell.
  10. ^ Newton 2009, pp. 57–81, §4 Results and Result Types - Dojo tags.
  11. ^ Newton 2009, pp. 249–255, §12 Themes and Templates - The REST plug-in.
  12. ^ Newton 2009, p. 294, §13 Comprehensive Testing - Detour: Struts and Spring in a nutshell.

References