安全でないファイル権限

安全でないファイル権限

説明

セキュリティ上重要なファイルにグループや他のユーザーの書き込み権限を与えると、その権限を持つ信頼できないユーザーが内容を変更できます。

想定される影響

  • 設定の改ざん、権限昇格、コードやデータの置き換えにつながる可能性があります。

対処方法

機密ファイルは最小権限で作成し、通常は0600か、さらに制限したモードを使ってください。ファイルの所有者と、親ディレクトリを変更できる主体も確認してください。

例

変更前

c
open("/var/app/config", O_CREAT | O_WRONLY, 0666);

変更後

c
open("/var/app/config", O_CREAT | O_WRONLY, 0600);

変更前は、新しいファイルにグループと他のユーザーの書き込みビットを指定します。実際の権限はumaskやACLにも左右されます。変更後は、所有者の読み書きだけを指定します。

openのモード引数は既存ファイルの権限を変更しません。既存ファイルの所有者と実際の権限は別途確認してください。例では、ディレクトリとパスが信頼できることを前提とします。

参考資料