外部制御される環境変数を使用しています
環境変数の値がセキュリティで保護されていないソースから取得される
説明
この欠陥は、putenv や setenv などの環境変数を追加または変更する関数で、セキュリティで保護されていないソースから新しい環境変数値が取得された場合に発生します。
リスク
環境変数が汚染されると、攻撃者はシステム設定を制御できるようになります。こうした制御により、潜在的に悪意ある方法でアプリケーションやサービスが中断される可能性があります。
修正方法
新規環境変数を使用する前に、その値をチェックして、外部ユーザーに制御が明け渡されるのを防止します。
チェッカーの拡張
既定では、Polyspace® は外部ソースからのデータは汚染されていると仮定します。Polyspace 解析での汚染のソースを参照してください。Polyspace 解析の現在のスコープ以外から発生したすべてのデータを汚染されたものと見なすには、コマンド ライン オプション [-consider-analysis-perimeter-as-trust-boundary] を使用します。
例
結果情報
| グループ: 汚染されたデータ |
| 言語: C | C++ |
| 既定値: オフ |
コマンド ライン構文: TAINTED_ENV_VARIABLE |
| 影響度: Medium |
バージョン履歴
R2015b で導入