Bugtraq mailing list archives
Update JBoss 308 & 321: Remote Command Injection
From: Marc Schoenefeld <schonef () uni-muenster de>
Date: Mon, 6 Oct 2003 22:39:15 +0200 (MES)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Adam, thanks for the question, here is the answer: just downloaded the 3.0.8 from Jboss.org and changed the port of the exploit code from 1701 to 1476, which is the HSQL port in Version 3.0.8 of JBoss. I can confirm that JBOSS 3.0.8 is also vulnerable Marc On Mon, 6 Oct 2003, Adam Shostack wrote:
Date: Mon, 6 Oct 2003 14:15:36 -0400 From: Adam Shostack <adam () homeport org> To: Marc Schoenefeld <schonef () uni-muenster de> Subject: Re: JBoss 3.2.1: Remote Command Injection Hi Marc, What about earlier versions of Jboss, like the 3.0 series, which a lot of folks still run? Adam On Sun, Oct 05, 2003 at 11:41:28PM +0200, Marc Schoenefeld wrote: | -----BEGIN PGP SIGNED MESSAGE----- | Hash: SHA1 | | ================================ | Illegalaccess.org Security Alert | ================================ | | Date : 10/04/2003 | Application : JBoss, java server for running J2EE enterprise | applications | Version : 3.2.1 | Website : http://www.jboss.org | Problems : Denial-Of-Service, | Log Manipulation, | Manipulation of Process variables, | Arbitrary Command Injection | | | Illegalaccess.org has discovered a critical security | vulnerability in the latest production version of JBoss J2EE | application server. The vulnerability affects default | installations of JBoss 3.2.1 running on JDK 1.4.x. We were able | to design proof of concept code for this issue, which allows | remote attack resulting in several compromises, ranging from | information disclosure over log manipulation and manipulating | java process properties to execution of any commands on the | (windows) system with the privileges of the JBoss process. We do | not rule out the possibility of remotely controlled code | execution on JBoss servers running on top of other operating | systems (such as Linux, Solaris, Mac, OS/390). | | The existence of the vulnerability has been confirmed by Marc | Fleury and Scott Stark of the JBoss Group. This report is part of | the coordinated release of information about this new threat. The | appropriate security bulletin for the jboss system as well as a | configuration fix for the affected version 3.2.1 are available | for download from the JBoss web site (see URL below). | | It should be stated, that the reaction time of the JBoss group | was exemplary in providing an immediate correction of the default | configuration which was causing the problem. | | Description | This is a command injection vulnerability that exists in an | integral component of the JBoss server, HSQLDB, an SQL database | managing JMS connections. In a combined result of programming | errors in the sun.* classes and logic errors in the org.apache.* | classes of the JDK and settings in the default configuration of | JBoss, remote attackers can obtain remote access to vulnerable | JBoss systems. Our tests confirmed that this vulnerability | affects all default installations of JBoss 3.2.1 and potentially | every other system using TCP/IP based connections to HSQLDB. | | Risk Analysis | The impact of this vulnerability should be considered as | critical. Throughout its exploitation, any user can gain complete | control over a vulnerable system by the means of a remote attack. | By sending specially crafted sequence of SQL statements to the | TCP port 1701 of the vulnerable JBoss system, an attacker can | exploit the vulnerabilities and in worst case execute any code | with the privileges of the java process executing JBoss. | | Scope | This vulnerability affects every installation of JBoss 3.2.1 | application server not protected by additional hardening | mechanisms for network access protection and boundary control | such as firewall systems. | | Code Availability | We were able to develop a fully functional 100%-java proof of | concept code for JBoss 3.2.1 running on any Java 1.4.x-enabled | platform. The base functionality for every operating system | includes Denial-Of-Service, Information Disclosure, Log Message | Injection and Resource Consumption. It makes use of some unique | exploitation techniques and are based on a detailed analysis of | the JDK 1.4.x class structure (available for download mid | November 2003) by Illegalaccess.org. In the case of the host | operating system being Windows 2000/XP, an additional | exploitation is possible executing arbitrary executables and even | registered file types. The attack may be performed unnoticed, | without any abuse to the operation of the | target system. | | Due to the unique nature and in-depth-impact of this | vulnerability, illegalaccess.org has decided not to publish | exploit code or any technical details helpful for replay with | regard to this vulnerability at the moment. Parallel we are | preparing a more detailed technical description of the | vulnerability which is due to be released to the public when its | impact will be reduced through propagation of appropriate fixes | by the JBoss Group. | | Solution | It should be emphasized that this vulnerability poses a critical | threat and appropriate patches provided by JBoss (see below) | should be immediately applied. The patch available at present | is available at | | http:// | sourceforge.net/docman/display_doc.php?docid=19314&group_id=22866 | | and describes the fix which is to limit the HSQLDB to in-memory | mode. | | =======start of snippet from updated jboss documentation========= | The default configuration of the hsqldb service allows for | interaction with the database over TCP/IP and can enable arbitary | code to be executed if the default username/password has not be | changed. JBoss does not need the socket based access mode so one | can disable this through two changes to the deploy/hsqldb-ds.xml | configuration. | | | I) First, change: | <!-- for tcp connection, other processes may use hsqldb --> | <connection-url> | jdbc:hsqldb:hsql://localhost:1701 | </connection-url> | | to: | | <!-- for in-process db with file store, saved when jboss | stops. The org.jboss.jdbc.HypersonicDatabase is unnecessary --> | | <connection-url> | jdbc:hsqldb:localDB | </connection-url> | | II) Next, comment out or remove this section: | | <!-- this mbean should be used only when using tcp connections --> | <mbean code="org.jboss.jdbc.HypersonicDatabase" | name="jboss:service=Hypersonic"> | <attribute name="Port">1701</attribute> | <attribute name="Silent">true</attribute> | <attribute name="Database">default</attribute> | <attribute name="Trace">false</attribute> | <attribute name="No_system_exit">true</attribute> | </mbean> | | =======end of snippet from updated jboss documentation========= | | Marc Schoenefeld, www.illegalaccess.org (marc () illegalaccess org) | | - -- | | Never be afraid to try something new. Remember, amateurs built the | ark; professionals built the Titanic. -- Anonymous | | Marc Schönefeld Dipl. Wirtsch.-Inf. / Software Developer | -----BEGIN PGP SIGNATURE----- | Version: GnuPG v1.0.6 (AIX) | Comment: For info see http://www.gnupg.org | | iD8DBQE/gJALqCaQvrKNUNQRAiFqAJ9GYSd38BKgL2tYWp/U0r/KtdbO0ACdFz6V | 39E+YTxnfgaf0NDpjXSfnLY= | =Eb08 | -----END PGP SIGNATURE----- | -- "It is seldom that liberty of any kind is lost all at once." -Hume
- -- Never be afraid to try something new. Remember, amateurs built the ark; professionals built the Titanic. -- Anonymous Marc Schönefeld Dipl. Wirtsch.-Inf. / Software Developer -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (AIX) Comment: For info see http://www.gnupg.org iD8DBQE/gdL3qCaQvrKNUNQRAqc6AJ9nRxhXZjL94aSbQNpAJ0PQY/A8dQCfWn6G Hcich424OGWfBcJWJBaY60c= =J/sq -----END PGP SIGNATURE-----
Current thread:
- Update JBoss 308 & 321: Remote Command Injection Marc Schoenefeld (Oct 06)
