文書番号 34029 最終更新日 2004-08-12 公開区分 一般公開 文書タイプ PROBLEM
製品名(バージョン)[コンポーネント] Oracle Server - Enterprise Edition ( - 9.0.1.4) [RDBMS]
プラットフォーム(バージョン) すべてのプラットフォーム ( - )
関連文書  
概要 アクセス権限を持たないユーザが、oracleソフトウェア所有者のファイルを上書きできる問題
内容:
[問題]
Unixプラットフォーム上にて、oracleソフトウェア所有者がownerのファイルに対
する書き込み権限を持たないOSユーザ(例:nobodyユーザ)が「oracle」実行可能
ファイルを実行でき、それによりトレースファイルが ORACLE_HOME/rdbms/log 
ディレクトリに出力されるという問題が確認されています。
「oracle」実行可能ファイルには SETUIDビットが設定されているため、任意のOS
ユーザがこのプログラムを実行し、結果として ORACLE_HOME/rdbms/log ディレク
トリの既存のファイルを上書きしたり、新しいファイルを作成したりすることがあ
ります。

また、ユーザが任意のディレクトリを ORACLE_HOME 環境変数に指定することによ
り予期せぬディレクトリにファイルが作成されたり既存のファイルが上書きされた
りする可能性もあります。


[対象リリース]
全ての Oracle データベース・サーバ・リリース(7.X, 8.0.X, 8.1.X, 9.0.1)
(Oracle e-Business Suite Release 11iのOracle Databaseを含む)


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


[回避策]
Oracleインスタンスをshutdownした後、$ORACLE_HOME/bin ディレクトリに存在す
る「oracle」実行可能ファイルのパーミッションを下記のように変更してくださ
い。

% cd $ORACLE_HOME/bin
% ls -l oracle
-rwsr-s--x   1 ora817c  dba      33855868 Oct  9 17:34 oracle*
% chmod o-x oracle
% ls -l oracle
-rwsr-s---   1 ora817c  dba      33855868 Oct  9 17:34 oracle*


「oracle」実行可能ファイルをリリンクしたことのある環境では、バックアップ
として「oracleO」というファイルが同じディレクトリに作成されていることがあ
ります。この場合は「oracleO」のパーミッションも「oracle」同様、変更してく
ださい。

% chmod o-x oracleO



[注意]
上記回避策により、OSのDBAグループに所属するOSユーザ及び「oracle」実行可能
ファイルのオーナーのみが「oracle」を実行できるようになります。

chmodコマンドにより「others」に対する実行パーミッションをなくしたことによ
り、上記に挙げられたユーザ以外のOSユーザは BEQドライバを使用したOracleへ
の接続(BEQ接続)が行えなくなります。
BEQ接続においては、SQL*Plusなどのクライアントプログラムは process を fork
して「oracle」実行可能ファイルを実行します。しかしクライアントプログラム
は実行ユーザのOS権限の元に実行されているため、そのユーザに「oracle」実行
可能ファイルに対する実行権限が欠けていた場合には、接続は失敗します。

ローカル接続を行うユーザは BEQドライバではなくIPCドライバを使用してOracle
データベースにTNSリスナー経由で接続する必要があります。
この場合、TNSリスナーは 「oracle」実行可能ファイルに対する実行権限を持っ
たユーザで起動してください。


[修正について]
この問題は、Oracle9i Release 2にて修正されています。
それ以前のリリースに関しましては、お手数ですが、上記回避策での対応をお願いします。


[よくある質問とその回答]

Q. 「oracle」実行可能ファイルとは何ですか?
A. $ORACLE_HOME/bin ディレクトリに存在する oracle という実行可能形式のファ
   イルです。

Q. 上記回避策を実施後、PSRを適用したところ oracle 実行可能ファイルのパーミッ
   ションが回避策実施前の状態に戻ってしまいました。
A. Oracleソフトウェアのリリンクを行いますと、oracle実行可能ファイルのパーミッ
   ションは初期の状態に戻ってしまいます。以下のいずれかの作業を行った後には
   再度[回避策]の実施をお願い致します:
  ・PSR (Patch Set Release)の適用後
  ・Oracle Serverに対する個別パッチの適用後
  ・「make -f ins_rdbms.mk ioracle」コマンドなどの実行後


[更新履歴]
2004/08/12  文書管理情報を更新
2004/04/08  Oracle9iR2 にて対応済みであることを明記
2001/11/26  [回避策]に oracleO に対する言及を追記
2001/11/27  [よくある質問とその回答]に、リリンク後の回避策の実行について追加