Attackers are actively exploiting a known vulnerability to compromise JBoss Java EE application servers that expose the HTTP Invoker service to the Internet in an insecure manner.
At the beginning of October security researcher Andrea Micalizzi released an exploit for a vulnerability he identified in products from multiple vendors including Hewlett-Packard, McAfee, Symantec and IBM that use 4.x and 5.x versions of JBoss. That vulnerability, tracked as CVE-2013-4810, allows unauthenticated attackers to install an arbitrary application on JBoss deployments that expose the EJBInvokerServlet or JMXInvokerServlet.
Micalizzi's exploit installs a Web shell application called pwn.jsp that can be used to execute shell commands on the operating system via HTTP requests. The commands are executed with the privileges of the OS user running JBoss, which in the case of some JBoss deployments can be a high privileged, administrative user.
Researchers from security firm Imperva have recently detected an increase in attacks against JBoss servers that used Micalizzi's exploit to install the original pwn.jsp shell, but also a more complex Web shell called JspSpy.
Over 200 sites running on JBoss servers, including some that belong to governments and universities have been hacked and infected with these Web shell applications, said Barry Shteiman, director of security strategy at Imperva.
The problem is actually bigger because the vulnerability described by Micalizzi stems from insecure default configurations that leave JBoss management interfaces and invokers exposed to unauthenticated attacks, a issue that has been known for years.
In a 2011 presentation about the multiple ways in which unsecured JBoss installations can be attacked, security researchers from Matasano Security estimated, based on a Google search for certain strings, that there were around 7,300 potentially vulnerable servers.
According to Shteiman, the number of JBoss servers with management interfaces exposed to the Internet has more than tripled since then, reaching over 23,000.
One reason for this increase is probably that people have not fully understood the risks associated with this issue when it was discussed in the past and continue to deploy insecure JBoss installations, Shteiman said. Also, some vendors ship products with insecure JBoss configurations, like the products vulnerable to Micalizzi's exploit, he said.
Products vulnerable to CVE-2013-4810 include McAfee Web Reporter 5.2.1, HP ProCurve Manager (PCM) 3.20 and 4.0, HP PCM+ 3.20 and 4.0, HP Identity Driven Manager (IDM) 4.0, Symantec Workspace Streaming 188.8.131.523 and IBM TRIRIGA. However, products from other vendors that have not yet been identified could also be vulnerable.
JBoss is developed by Red Hat and was recently renamed to WildFly. Its latest stable version is 7.1.1, but according to Shteiman many organizations still use JBoss 4.x and 5.x for compatibility reasons as they need to run old applications developed for those versions.
Those organizations should follow the instructions for securing their JBoss installations that are available on the JBoss Community website, he said.
IBM also provided information on securing the JMX Console and the EJBInvoker in response to Micalizzi's exploit.
The Red Hat Security Response Team said that while CVE-2013-4810 refers to the exposure of unauthenticated JMXInvokerServlet and EJBInvokerServlet interfaces on HP ProCurve Manager, "These servlets are also exposed without authentication by default on older unsupported community releases of JBoss AS (WildFly) 4.x and 5.x. All supported Red Hat JBoss products that include the JMXInvokerServlet and EJBInvokerServlet interfaces apply authentication by default, and are not affected by this issue. Newer community releases of JBoss AS (WildFly) 7.x are also not affected by this issue."
Like Shteiman, Red Hat advised users of older JBoss AS releases to follow the instructions available on the JBoss website in order to apply authentication to the invoker servlet interfaces.
The Red Hat security team has also been aware of this issue affecting certain versions of the JBoss Enterprise Application Platform, Web Platform and BRMS Platform since 2012 when it tracked the vulnerability as CVE-2012-0874. The issue has been addressed and current versions of JBoss Enterprise Platforms based on JBoss AS 4.x and 5.x are no longer vulnerable, the team said.