Red Hat Satellite 5.x は CVE-2013-4480 の影響を受けますか?
問題
CVE-2013-4480 によって特定された不具合 (Red Hat Bugzilla 1024614) は、ユーザーが提供した web クエリによって、Satellite コンソールに管理ユーザーが追加される問題について説明しています。リモートの、特権のないユーザーがこの不具合を利用して、Satellite コンソールの管理者権限を取得することができます。
一般的なセキュリティ上の脆弱性は利用できませんが、開発に特定の知識またはツールは必要ありません。
環境
- Red Hat Satellite 5 (サポートされるすべてのバージョンと、古いバージョンを含む)
解決策
この問題を修正するためのアップデートが利用できます。このアップデートをすぐに適用することをお勧めします。
アップデートができない場合は、/var/lib/tomcat[56]/webapps/rhn/WEB-INF/struts-config.xml ファイルを手動で修正して、必要な確認を 2 つ追加します。
Red Hat Enterprise Linux 5.4 以降
1) struts-config.xml ファイルで "CreateFirstUserSubmit" セクションを検索し、<set-property property="postRequired" value="true" /> 行の下に以下の行を追加します。
<set-property property="acls" value="need_first_user()"/>
修正したセクションは以下のようになります。
<action path="/newlogin/CreateFirstUserSubmit"
name="createSatelliteForm"
scope="request"
validate="false"
input="/WEB-INF/pages/user/create/usercreate.jsp"
type="com.redhat.rhn.frontend.action.user.CreateUserAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="postRequired" value="true" />
<set-property property="acls" value="need_first_user()"/>
<forward name="success_sat" path="/YourRhn.do"
redirect="true"/>
<forward name="fail-sat" path="/newlogin/CreateFirstUser.do"/>
</action>
2) struts-config.xml ファイルで "CreateSatelliteSubmit" セクションを検索し、<set-property property="postRequired" value="true" /> 行の下に以下の行を追加します。
<set-property property="acls" value="user_role(org_admin)"/>
修正したセクションは以下のようになります。
<action path="/newlogin/CreateSatelliteSubmit"
name="createSatelliteForm"
scope="request"
validate="false"
input="/WEB-INF/pages/user/create/usercreate.jsp"
type="com.redhat.rhn.frontend.action.user.CreateUserAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="postRequired" value="true" />
<set-property property="acls" value="user_role(org_admin)"/>
<forward name="existorgsuccess" path="/users/ActiveList.do"
redirect="true"/>
<forward name="failure" path="/users/CreateUser.do"/>
</action>
3) Satellite サーバーを再起動 ("service rhn-satellite restart") して、上の変更を有効にする必要があります。
Red Hat Satellite 5.3、5.2、およびそれ以前
1) struts-config.xml ファイルで "CreateFirstUserSubmit" セクションを検索し、type="com.redhat.rhn.frontend.action.user.CreateUserAction"> 行の下に以下の行を追加します。
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls" value="need_first_user()"/>
また、type="com.redhat.rhn.frontend.action.user.CreateUserAction"> 行の末尾の ' > '文字を削除します。
修正したセクションは以下のようになります。
<action path="/newlogin/CreateFirstUserSubmit"
name="createSatelliteForm"
scope="request"
validate="false"
input="/WEB-INF/pages/user/create/usercreate.jsp"
type="com.redhat.rhn.frontend.action.user.CreateUserAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls" value="need_first_user()"/>
<forward name="success_sat" path="/YourRhn.do"
redirect="true"/>
<forward name="fail-sat" path="/newlogin/CreateFirstUser.do"/>
</action>
2) struts-config.xml ファイルで "CreateSatelliteSubmit" セクションを検索し、type="com.redhat.rhn.frontend.action.user.CreateUserAction"> 行の下に以下の行を追加します。
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls" value="user_role(org_admin)"/>
また、type="com.redhat.rhn.frontend.action.user.CreateUserAction"> 行の末尾の ' > '文字を削除します。
修正したセクションは以下のようになります。
<action path="/newlogin/CreateSatelliteSubmit"
name="createSatelliteForm"
scope="request"
validate="false"
input="/WEB-INF/pages/user/create/usercreate.jsp"
type="com.redhat.rhn.frontend.action.user.CreateUserAction"
className="com.redhat.rhn.frontend.struts.RhnActionMapping">
<set-property property="acls" value="user_role(org_admin)"/>
<forward name="existorgsuccess" path="/users/ActiveList.do"
redirect="true"/>
<forward name="failure" path="/users/CreateUser.do"/>
</action>
3) Satellite サーバーを再起動 ("service rhn-satellite restart") して、上の変更を有効にする必要があります。
Comments