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