Home > CakePHP | 雑記 > CakePHP Sessonコンポーネントに任意のコードが実行できる脆弱性

CakePHP Sessonコンポーネントに任意のコードが実行できる脆弱性

この記事の所要時間: 19

Sessionコンポーネントですが値を保存するキーに特定の値を仕込むと任意のコードが実行できる脆弱性があります。

この問題は1.1/1.2どちらにも存在します。

Sessionコンポーネントの親クラスであるCakeSessionクラス[cake/libs/session.php]では、セッション関連の処理にeval()を使用しています。このeval()に渡すPHPコード(evalで実行されるコード)を生成する過程で、セッションキーを使用するのですが、変数のチェックが不十分なため、任意の処理を書くことができてしまいます。

通常セッションのキーにGET/POST/COOKIEといった外部からの値は使用しないと思うのであまり影響は無いかもしれませんが、もしセッションキーにこれらの値を使用している場合は値のチェックを厳密に行う必要がありますのでご注意を。

念のためtikcet投げておいたのでいずれ修正されるかと思います。
早速パッチを適用してもらいました。openだったのは正味20分くらいでした。(早!)
Thanks phpnut!!

[.]区切りのセッションキーを配列にして使うためにeval()を使っているのですが、これはわざわざeval()を使う必要があるのでしょうか。安全性を考えるとこういった関数は極力使わない方が吉かと。

Pocket

follow us in feedly

トラックバック:0

このエントリーのトラックバックURL
http://www.1x1.jp/blog/2007/02/cakephp_session_vulnerability.html/trackback
Listed below are links to weblogs that reference
CakePHP Sessonコンポーネントに任意のコードが実行できる脆弱性 from Shin x blog

Home > CakePHP | 雑記 > CakePHP Sessonコンポーネントに任意のコードが実行できる脆弱性

検索
フィード
メタ情報

Return to page top