umask が chmod 型の引数と共に使用されています
umask の引数で、外部ユーザーによる制御が過剰に許可されている
説明
この欠陥は、chmod への引数の形式で指定された引数が umask コマンドに含まれており、想定外の可能性がある権限が付与される場合に発生します。次に例を示します。
umaskコマンドが、現在のユーザーよりも多い権限をグループに付与する。umaskコマンドが、グループよりも多い権限を他のユーザーに付与する。
新規ファイルでは、umask 引数またはマスク値によって、どの権限を設定 "しない" か、つまり、どの権限を削除するかが指定されます。このマスクはビット単位で符号を反転した後、新規ファイルでの権限に適用されます。これに対し、chmod では指定されたとおりに権限が設定されます。
リスク
chmod 形式の引数を使用すると、想定とは正反対の権限が指定されることになります。このミスにより、新規のファイルとフォルダーに対する読み取りや書き込みのアクセス権が、外部ユーザーに対し意図せずに付与される可能性があります。
修正方法
この欠陥を修正するには、以下のタスクの両方を実行します。
ユーザーの読み取り権限を有効にします。
mask の値の設定で、ユーザー (
u) のオフにする権限数を、グループ (g) の権限数以下にし、かつそのグループのオフにする権限数を、他のユーザー (o) の権限数以下にします。つまり、u <= g <= oになるようにします。
umask の値は、次を呼び出すことで確認できます。
umaskumask -S例
結果情報
| グループ: セキュリティ |
| 言語: C | C++ |
| 既定値: オフ |
コマンド ライン構文: BAD_UMASK |
| 影響度: Low |
バージョン履歴
R2015b で導入