2013年12月1日日曜日

Fedora の全てのパッケージで -Werror=format-security

Phoronixの記事によるとFedoraの全てのパッケージで、コンパイル時のgccのオプションに-Werror=format-securityを付けることになるそうです。

これは、フォーマット文字列攻撃(または書式文字列攻撃)という有名なセキュリティの脆弱性を防ぐのに有効なコンパイルオプションです。IPAの記事が詳しいです。

例えば、以下のようなプログラムtest.cをコンパイルします。

#include <stdio.h>

int main()
{
        char str[] = "test";        

        printf(str);
        printf(str, NULL);
        return 0;
}

この関係のオプションは警告を出力する -Wformat などがありますが、それぞれ以下の画像のようになり、-Werror=format-securityでは7行目で警告でなくエラーとなり、コンパイルに失敗します。8行目のようにprintf()に第2引数があればエラーにならないようです。



Fedoraのパッケージは10,000近くあると言われていませすが、そのうち400ぐらいが影響を受けるそうです。結構あるものですね。

それはともかく、Fedora20でユーザー切り替えでパスワードが暴露される不具合が見つかったそうで・・・12月10日に出る予定でしたが、また延期されるのでしょうか・・・


0 件のコメント:

コメントを投稿