,

脆弱性の原因

最近大きな脆弱性が出ていますが、その技術詳細を探してみました。
まずWordPress 4.7.1 の権限昇格脆弱性ですが、解説があります。
http://blog.tokumaru.org/2017/02/wordpress-4.7.1-Privilege-Escalation.html
コードになるとアクセス制御はif文になっちゃうから、その部分が一つ間違うとアウトなんですよね。根本的には”1A”が1にキャストできるのがどうよってコンパイル言語の住人的には思うのですが。

次はStruts2 Content-Disposition filename でコマンドインジェクションできちゃうって話です。
変な文字列を入れるとエラー処理に入るのですが、エラー処理の過程でその文字列をOGNLで評価してしまうというのが大きな流れのようです。
http://takahashikzn.root42.jp/entry/2017/03/08/132147
メッセージをフォーマットするのに使うメソッドが、その内容をOGNLで評価するという機能を持つようです。HTTPのヘッダーの文字列出すだけなんだから、おとなしく出せばよかったということでしょうか。文字列評価できるから柔軟なプログラミングができてすごいぜってのは確かにすごいですが、エラーメッセージ出すだけなのにそれ使っちゃったてのが潜在的な根本原因ですかね。