FuelPHP1.6.1以下対象の2013-08-24に出た虚弱性の対応方法
先日FuelPHPのインストール方法の記事を書いたばかりで、
ちょうどセキュリティ関係の話題が出ていましたので、
紹介がてらに自分のソースも修正していきます。
FuelPHP Security Advisories
FuelPHPのサイトにSecurity Advisoriesというセキュリティ関係のページができたのですね。
http://d.hatena.ne.jp/Kenji_s/20130826
このブログで知りました。
はじめてのフレームワークとしてのFuelPHPではお世話になりました。
2013-08-24に出された虚弱性について
2つほど出ていました、どちらもlow riskなので条件が重ならないと動作しないようです。
- DB quote_identifier()でSQLインジェクションができる可能性がある
- FuelPHPが利用しているhtmlLawedのライブラリに問題があってXSSができる可能性がある
1つ目の虚弱性修正
1つ目の虚弱性はPHP5.5でFuelを動作させたときに警告がその辺りで出ていたような。。。。
1.7以降では修正されているようです。
1.6.1以下のパージョンで修正する方法が紹介されていましたのでその通りに修正していきます。
fixed preg_replace deprecated error in PHP 5.5 :
https://github.com/fuel/core/commit/270ba79b39e93317e88260a162872ea48e8cfb2c
変更箇所 630行目ぐらい
fuel/core/classes/database/connection.php
if (strpos($value, '"') !== false)
{
// required for PHP 5.5- (no access to $this in closure)
$that = $this;
// Quote the column in FUNC("ident") identifiers
return preg_replace_callback('/"(.+?)"/', function ($matches) use($that) { return $that->quote_identifier($matches[1]); }, $value);
}
2つ目の虚弱性修正
2つ目の虚弱性はhtmllawedのサイトに行って
最新版をFuelの中ある物と入れ替えることで修正できるようです。
ダウンロードするもの
htmLawed 1.1.16, 27 August 2013
http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/
ここから、htmLawed.phpをダウンロードする。
Lが大文字なので名前を変えてやる。
$ mv htmlLawed.php htmllawed.php
入れ替え先 fuel/core/vendor/htmlawed/htmlawed.php
これと入れ替えるといいようです。
ただセキュリティ勧告のページでも最後に(note the lowercase!)と書いてあるので、
置き換えるのはいいけど出るのはまれだからな!!と解釈していいのでしょうか。
ちょくちょくこのページで確認していきたいと思います。
-
前の記事
オープンソースを理解するためのサイトまとめ 2013.08.28
-
次の記事
Facebookの電話番号認証が実装されていた!! 2013.09.02
コメントを投稿するにはログインしてください。