権限を削除する順序が正しくありません
昇格された権限のうち低い権限より前に高い権限を削除
説明
この欠陥は、setuid
や setgid
などの関数が誤った順序 (昇格された権限のうち下位の権限より先に、上位の権限が削除される) で使用された場合に発生します。たとえば、昇格された補助グループ権限を削除する前に、昇格されたプライマリ グループ権限を削除した場合です。
リスク
誤った順序で権限を削除すると、低い権限を削除するために必要な高い権限が先に削除されてしまう可能性があります。順序が正しくないと権限が削除されず、プログラムのセキュリティが侵害される可能性があります。
修正方法
昇格された権限を削除する場合は以下の順序に従います。
(昇格された) 補助グループ権限を削除し、次に (昇格された) プライマリ グループ権限を削除します。
(昇格された) プライマリ グループ権限を削除し、次に (昇格された) ユーザー権限を削除します。
例
結果情報
グループ: セキュリティ |
言語: C | C++ |
既定値: オフ |
コマンド ライン構文: BAD_PRIVILEGE_DROP_ORDER |
影響度: High |
バージョン履歴
R2016b で導入