R42日記スマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。読者です読者をやめる読者になる読者になるR42日記この日記は私的なものであり、所属会社の見解ではありません。takahashikzn2013-05-27struts-2.3.14.2緊急リリースStruts2毎度おなじみのOGNL関連の脆弱性です。数日前にリリースされたstruts-2.3.14.1で、デフォルトではOGNLの評価が無効化されました。今回の脆弱性はそれとは関係なく発生します。以下のURLにある詳細によると、http://struts.apache.org/release/2.3.x/docs/s2-014.htmls:urlとs:aタグの属性であるincludeParamsにおいて、getおよびallを値として指定した場合にリモートコードを実行できてしまうようです。詳細includeParamsはHTTPリクエストに含まれるパラメータを取り込んでURLを生成せよという指示を行なっているわけですが、パラメータを取り込む際に、OGNLとして解釈してしまうようです。includeParams=&quot;all&quot;&gt;というJSPを書いて、そのページにhttp://localhost:8080/struts2-blank/example/HelloWorld.action?aaa=1${%23_memberAccess[%22allowStaticMethodAccess%22]=true,@java.lang.Runtime@getRuntime().exec(&#39;calc&#39;)}のようなURLでアクセスすると、電卓が起動してしまいます。(Runtime.execが実行される)allowStaticMethodAccessを強制的にtrueにできるので、設定ファイルで何を指定しようが防げません。こんな感じですので、includeParamsを使っている方はさっさとアップデートするのが確実でございます。