信頼できない配列添字

信頼できない値が配列添字として使用されています。

入力操作などにより、値が外からプログラムに投入された場合、"tainted" (信頼できない) ものとみなされます。セキュリティー攻撃では、しばしば悪意のあるユーザーにより、プログラムのエントリーポイントに変わった値が配置されるため、信頼できない値には注意する必要があります。この診断では、信頼できない値が配列添字として使用されています。これにより、悪意のあるユーザーは境界違反を引き起こすことができます。

値を使用する前にチェックされていることが明らかな場合は、信頼できないものとして認識されません。

ID

問題箇所

説明

1

メモリー読み取り

信頼できない値が使用された場所

2

呼び出し位置

信頼できない値が取得された呼び出し


int myArray[10];

int main(int argc, char **argv)
{
    int index = atoi(argv[1]);
    return myArray[index]; // bad: index is unvalidated value
}
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。