今回のPerl脆弱性

まとめると、今回のPerl脆弱性騒ぎには二つの問題があったわけです。

  • Perlのprintf関数において、format stringに悪意のある値を与える事で任意のコードを実行されてしまう脆弱性 (Perl format string integer wrap vulnerability)
  • 開発者が(おそらくは)意図せず、printfによるFormat string展開される関数を利用していた。Webmin等がそれに当たる。これはSys::Syslog-0.09等では(開発者の意図通り)ただの文字列として扱われるように仕様変更されている。

これを混同してしまわないように要注意ですね。
情報:

Rubyでも同様の脆弱性が発見された……というだけでなく、修正方法によってはコンパイラ(gcc4)の最適化が対策を回避してしまうことがあるようです。[追記: 2005/12/08 22:38]