Lucian Constantin
CSO Senior Writer

Security update for Apache Struts fixes critical vulnerabilities

news
Jul 17, 20132 mins

The vulnerabilities can allow attackers to execute rogue code on the server or redirect users to arbitrary locations

The Apache Software Foundation has released Struts 2.3.15.1, a security update for its popular Java Web application development framework that addresses two vulnerabilities, including a critical one that could allow remote attackers to execute arbitrary code on the server.

Struts Version 2.3.15.1 has become the “General Availability” release, the designation for the project’s highest quality version available to users.

[ InfoWorld’s expert contributors show you how to secure your Web browsers in a free PDF guide. Download it today! | Learn how to protect your systems with Roger Grimes’ Security Adviser blog and Security Central newsletter, both from InfoWorld. ]

The new release addresses two vulnerabilities that stem from issues in the implementation of the DefaultActionMapper class and its “action:”, “redirect:”, and “redirectAction:” prefixes in particular.

“In Struts 2 before 2.3.15.1 the information following ‘action:’, ‘redirect:’ or ‘redirectAction:’ is not properly sanitized,” the Apache Struts developers said in an advisory. “Since said information will be evaluated as OGNL [Object Graph Navigation Language] expression against the value stack, this introduces the possibility to inject server side code.”

Attackers can also manipulate the information following “redirect:” or “redirectAction:” in order to redirect users to an arbitrary location.

In order to fix these two vulnerabilities, the Apache Struts developers have added code that sanitizes the “action:”-prefixed information and have removed support for the “redirect:” and “redirectAction:” prefixes.

Applications that use the retired prefixes will no longer work properly after upgrading to Struts 2.3.15.1 or later versions. The Struts developers recommend replacing them in the code with fixed navigation rules.

The new Struts version also fixes a server path information leakage issue and adds improved input sanitizing for the file upload example.

“After a fileupload action, if the result jsp contains a tag, the value attribute is filled in with the server path where the file was saved,” the developers said. “This discloses file system information about the server.”

Lucian Constantin

Lucian Constantin writes about information security, privacy, and data protection for CSO. Before joining CSO in 2019, Lucian was a freelance writer for VICE Motherboard, Security Boulevard, Forbes, and The New Stack. Earlier in his career, he was an information security correspondent for the IDG News Service and Information security news editor for Softpedia.

Before he became a journalist, Lucian worked as a system and network administrator. He enjoys attending security conferences and delving into interesting research papers. He lives and works in Romania.

You can reach him at lucian_constantin@foundryco.com or @lconstantin on X. For encrypted email, his PGP key's fingerprint is: 7A66 4901 5CDA 844E 8C6D 04D5 2BB4 6332 FC52 6D42

More from this author