mailing list archives
Re: JBoss EJBInvokerServlet/JMXInvokerServlet confusion
From: David Jorm <djorm () redhat com>
Date: Mon, 31 Mar 2014 10:51:23 +1000
On 03/29/2014 12:02 AM, Steven M. Christey wrote:
There are several CVEs related to the lack of authentication for JBoss
invoker servlets, but there's a bit of confusion and a likely
CVE-2012-0874 is associated with various Red Hat advisories that
mention JMXInvokerHAServlet and EJBInvokerHAServlet - with "HA" in the
name - in JBoss.
The description for CVE-2013-4810 is currently focused on HP products,
but it mentions EJBInvokerServlet and JMXInvokerServlet (different
servlets without "HA" in the name). Through the associated ZDI
advisory, this issue is associated with some exploit(s) authored by
Andrea Micalizzi (rgod), who reported the issue in various products
that utilize JBoss. In addition,
https://access.redhat.com/site/articles/545183 - "Does CVE-2013-4810
affect Red Hat JBoss products?" - clarifies that these servlets are
"exposed without authentication on older, unsupported community
releases of JBoss AS (WildFly) 4.x and 5.x."
CVE-2013-4810 is used heavily with references to ZDI-13-229.
The openness of JMXInvokerServlet is covered in a 2011-era disclosure
in http://www.matasano.com/research/OWASP3011_Luca.pdf, although
EJBInvokerServlet is not mentioned then.
The key question is whether CVE-2013-4810 is a duplicate of an
existing CVE that covers EJBInvokerServlet and JMXInvokerServlet, and
if so, which CVE is it a duplicate of.
It is not a duplicate of CVE-2012-0874, since that deals with the
exposure of different servlets - the "HA" servlets - so is effectively
a variant of the original issue.
CVE-2007-1036 is heavily used. Although it does not mention
EJBInvokerServlet or JMXInvokerServlet, it is related to insecure
JBoss configuration. None of the commonly-associated references
mention EJBInvokerServlet and JMXInvokerServlet, either. If we can
clearly link CVE-2007-1036 with those servlets, then it becomes
possible to reject CVE-2013-4810 as a duplicate.
Original links such as
http://wiki.jboss.org/wiki/Wiki.jsp?page=SecureJBoss are now gone,
which is unfortunate because this is a "bridge reference" that is
included in both CVE-2007-1036 and Red Hat's "Does CVE-2013-4810
affect Red Hat JBoss products?" article.
https://community.jboss.org/wiki/securethejmxconsole doesn't name the
There is, at least, a Metasploit module that maps to CVE-2007-1036 and
There's still a question of EJBInvokerServlet - I haven't seen it
mentioned in conjunction with CVE-2007-1036 yet.
Also, it appears that there are mentions of other vectors besides
Red Hat, can you confirm that the scope of CVE-2007-1036 is the lack
of authentication for both JMXInvokerServlet and EJBInvokerServlet?
CVE-2007-1036 describes complete lack of authentication on JBoss admin
interfaces. CVE-2010-0738 describes the more specialized case of missing
authentication for the HEAD verb, and could be considered an incomplete
fix of CVE-2007-1036. CVE-2012-0874 describes the more specialized case
of missing authentication on some invoker servlets, and could be
considered an incomplete fix of CVE-2007-1036. To clarify the timeline
of CVE IDs:
CVE-2007-1036: By default, all admin interfaces in JBoss AS do not
require authentication. This includes all invoker servlets, HA or not.
Following this, supported JBoss products had authentication applied to
all admin interfaces by default. From the unsupported community release
of JBoss AS 7 onwards, authentication is also applied by default.
Unsupported community releases of JBoss AS <= 6.x never had
authentication applied by default, and they could be accurately said to
be vulnerable to CVE-2007-1036.
CVE-2010-0738: It was found that the authentication applied in supported
JBoss products does not cover the HEAD verb, allowing a HTTP verb
CVE-2012-0874: It was found that the authentication applied in supported
JBoss products does not cover the HA servlets. This is not directly
exploitable, as a security interceptor still blocks unauthenticated access.
CVE-2013-4810: HP has been picking up unsupported JBoss AS releases that
expose CVE-2007-1036 [and by extension CVE-2010-0738 and CVE-2012-0874],
and did not ship patches for any of these CVE IDs. Once the issue was
reported via ZDI, CVE-2013-4810 was assigned.
Therefore CVE-2013-4810 does not relate to either unsupported JBoss AS
releases or supported JBoss products. It only relates to unsupported
JBoss AS releases as a duplicate of either CVE-2012-0874 or
CVE-2007-1036. Since the CVE-2013-4810 description pertains to invoker
servlets, I think it is a dupe of CVE-2012-0874, but I can see a
rational argument for considering it to be a dupe of the more general
case described by CVE-2007-1036.
Unfortunately the original "Secure JBoss" and "Secure the JMX Console"
links are now dead, but the content lives on here:
Note that one of the steps documented is to secure the invoker:
Although this content does not explicitly mention the EJB/JMX
InvokerServlets, it covers securing them.
David Jorm / Red Hat Security Response Team