CVE-2010-0738 と JBoss プロダクトへの影響について
Environment
- JBoss Application Server (AS) 4.0.x
- JBoss Communications Platform 1.2
- Red Hat JBoss Enterprise Application Platform (EAP)
- 4.2
- 4.3
- 5.0
- JBoss Enterprise Portal Platform (EPP) 4.3
- JBoss Enterprise Web Platform (EWP) 5.0
- JBoss SOA-Platform (SOA-P)
- 4.2
- 4.3
- 5.0
Issue
-
CVE-2010-0738 は、多くの JBoss 製品 (以下の「環境」セクションを参照) に付属する JMX コンソールのデフォルトセットアップに関係します。JMX コンソールは不十分なセキュリティ制限を実行して、これらの製品に定義されている管理ユーザー ID への認証されたアクセスを保証します。リモートアタッカーは、ユーザー名とパスワードへのアクセスを持たなくてもこの設定を悪用して、Java プロセスを実行して機密性、統合性、可用性を潜在的な損害を与えることで、オペレーティングシステムのユーザーのコンテキストで任意のアクションを起こすことができます。
-
Red Hat 社から、セキュリティの脆弱性に関する次のメールを受けとりました。
-
JBoss アプリケーションサーバーへのセキュリティの脅威に関するステートメント
Red Hat 社は、JBoss Application Server と関連製品を実行していて、パッチが当たっていないサーバーやセキュリティ対策が施されていないサーバーに現在影響を与えるワームの存在を認識しています。このワームは、保護されてない JMX コンソールに接続することで広まり、JMX コンソールの機能を使用して、JBoss ユーザーのコンテキスト内の任意のコードを実行します。このワームは、現在セキュリティ対策が施されていない JMX コンソールを使用している JBoss Application Server のユーザーと、古くて、パッチが当たっていない JBoss Enterprise 製品のユーザーに影響を与えます。JBoss Enterprise 製品のアップデートは、不具合 CVE-2010-0738 を修正するために 2010 年 4 月に作成されました。
JMX コンソールのセキュリティ対策に対する詳細については、以下のようになります。
http://community.jboss.org/wiki/SecureTheJmxConsole
Mark Cox
The Red Hat Security Response Team
-
このワームにはどう対策すればいいですか?
- セキュリティ警告: https://threatpost.com/en_us/blogs/jboss-worm-exploiting-old-bug-infect-unpatched-servers-102111
Resolution
Red Hat 社はこの問題を認識しており、Bugzilla 574105 および JIRA JBPAPP-3952 を介して追跡しています。
これらの製品に含まれている JMX コンソールのデフォルト設定は、deploy/jmx-console.war/WEB-INF/web.xml
で次のセキュリティ制限を定義します。
<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>
An example security config that only allows users with the role
JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>
これは、JBossAdmin 領域への適切な認証を持たない GET または POST 要求がブロックされ、401 エラーが発生したことを意味します。
HTTP protocol には、GET および POST 以外の動詞、たとえば HEAD、PUT、DELETE などの一覧があります。これらは、セキュリティ制限にはリストされていないので、これらの動詞の要求はセキュリティチェックなしでサーバーにダイレクトされることが許可されていて、動詞の特定のハンドラを指定していない場合はデフォルトで GET ハンドラが実行されます。このワームは、 HEAD HTTP 動詞を使用して JMX コンソールに要求を作成することで利用します。これが成功すると、ワームは IRC ベースのコマンドをインストールしてコンポーネントを制限し、障害が起きたサーバーをボットネット配置します。そして、他の脆弱なサーバーに対して開いている IP アドレスのランダムなブロックを検索するスキャナーを実行します。スキャナーが検出した脆弱なサーバーは同様に感染し、コマンド、制限、繁殖コンポーネントがサーバーにインストールされます。
次の JBoss 製品リリースがこの問題に対応しています。
- JBoss Communications Platform 1.2.5
- JBoss Enterprise Application Platform (EAP) 4.2 CP09
- JBoss Enterprise Application Platform (EAP) 4.3 CP08
- JBoss Enterprise Application Platform (EAP) 5.0.1
- JBoss Enterprise Portal Platform (EPP) 4.3 CP04
- JBoss Enterprise Web Platform (EWP) 5.0.0-SEC-01
- JBoss SOA-Platform (SOA-P) 4.2 CP05
- JBoss SOA-Platform (SOA-P) 4.3 CP03
- JBoss SOA-Platform (SOA-P) 5.0.1
残りの許可された verb に対して、GET ハンドラーをトリガーとするのを手動で防ぐには、デフォルトですべての verb をブロックする GET および POST の明示的な拒絶を削除して、セキュリティ制限を調整する必要があります。
<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>
An example security config that only allows users with the role
JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>
注意: JBoss AS 4.0.x のライフは終了したので、それに対するバイナリーパッチはありません。同じデプロイメントディスクリプタに、上述したセキュリティ制限に関する記述がコメントとして記載されてます。上で説明しているように、<http-method> タグを手動で削除してこのセキュリティ制限のコメントを解除し、JBoss インスタンスが保護されていることを確認します。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments