文書番号 34048 最終更新日 2004-08-12 公開区分 一般公開 文書タイプ PROBLEM
製品名(バージョン)[コンポーネント] Oracle Server - Enterprise Edition ( - 9.0.1.4) [RDBMS]
プラットフォーム(バージョン) すべてのプラットフォーム ( - )
関連文書  
概要 OracleTrace機能を使用する際のセキュリティに関する脆弱性
内容:
[問題]
OracleTrace機能を使用する場合は、以下の2つの問題にご注意ください。

 1)バッファのオーバーフローが発生するという不具合が存在します。
 2)$ORACLE_HOME/bin/otrcrepにSETUIDビットがたっている場合は、1)の不具合によってセキュリ
   ティー問題が発生し得ます。
 
[対象リリース]
問題が発生するリリース  :Oracle Database 7.3.x, 8.0.x, 8.1.x, 9.0.1
問題を修正したリリース  :Oracle9i Database Release2(9.2) 
問題を修正予定のPSR     :なし


[対象プラットフォーム]
全てのUNIXプラットフォーム

[原因]
1) バッファオーバーフローの不具合
 以下の両方の条件に該当する場合、$ORACLE_HOME/bin/otrcrepが環境変数ORACLE_HOMEを文字列に変
 換する際に、バッファのオーバーフローが発生します。

 ・OracleTrace機能を使用している。
 ・環境変数ORACLE_HOMEの文字列が240byte以上である。

 本不具合は、Oracle9i, Release 2 にて修正されております。

2) セキュリティー問題
 $ORACLE_HOME/bin/otrcrepにSETUIDビットがたっている場合(*1)、バッファのオーバーフローを利用
 すると、権限のないユーザがotrcrep所有ユーザ(Oracleインストールユーザ)のOS権限を使用出来てし
 まいます。
 その結果、共有メモリ上の変数を書き換えたり、任意のコードを実行出来る危険性があります。

[対処]
1) バッファオーバーフローの不具合
 環境変数ORACLE_HOMEの文字列が240byte以上である場合は、OracleTrace機能をご使用にならないで
 下さい。(oracle_trace_enable=Falseとする。デフォルトFalseです。)

2) セキュリティー問題
 以下のファイルにはSETUIDビットをたてないようにお願いします。

  % cd $ORACLE_HOME/bin
  % chmod -s otrccol otrccref otrcfmt otrcrep
  % chmod 751 otrccol otrccref otrcfmt otrcrep

[良くある質問と回答]
Q. SETUIDビットがたっているかはどのようにして確認するのですか。
A. 以下の手順でご確認ください。(otrccolのSETUIDビットを確認する例)
  % cd $ORACLE_HOME/bin
  % ls -l otrccol
  <SETUIDビットがたっている場合>
  -rwsr-s--x   1 oracle   dba      1350728  6月  4日 1999年 otrccol*
     ^  ^
  <SETUIDビットがたっていない場合>

  -rwxr-x--x   1 oracle   dba      1372772  6月 29日 2000年 otrccol*  


[更新履歴] 
2004/08/12 文書管理情報を更新
2003/08/13 9.2でのFixについての情報を追加
2001/11/06 [良くある質問と回答]を追加
2001/10/31 対象Versionに7.3.xを追加