Struts1.xの脆弱性(CVE-2014-0014) の詳細と原因 日本電気株式会社

Download Report

Transcript Struts1.xの脆弱性(CVE-2014-0014) の詳細と原因 日本電気株式会社

Struts1.xの脆弱性(CVE-2014-0014)
の詳細と原因
日本電気株式会社
2014年6月17日
StrutsV1.x脆弱性(CVE-2014-0114)とは
▐ CVE-2014-0114は、CVE-2014-094のStruts2.x ParametersInterceptor類似バ
グとして、4/24(木)に報告があった脆弱性である。リクエストパラメータによって
ClassLoaderの属性値を任意に設定可能となる脆弱性です。
ブラウザ
リクエスト
abc=123
class.ClassLoader.xxx=yyy
通常のリクエスト「abc=123」
以外に
「class.ClassLoader.xxx=yyy」
を付加して送信
StrutsV1.x
リクエスト
abc=123
class.ClassLoader.xxx=yyy
BeanUtilsでの処理
setAbc(“123”)
getClass().getClassLoader().setXxx(“yyy”)
ClassLoader
操作
Formクラス
Public void setAbc(String abc){
this.abc = abc;
}
Page 2
© NEC Corporation 2014
リクエストからFormクラスに
データセットのために
BeanUtils#populate()メソッ
ドを実行。設定するメソッド
を自動判断。
攻撃対象となりうるリクエストの検出
▐ CVE-2014-0114で影響のあるパラメータ属性有無を検証するための正規表現
は以下のとおりとなります。
Grepツールの仕様
チェック用正規表現
\W(英数字および”_”以外)をサポート
(^|\W)[cC]lass\W
\Wを未サポート
(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*
Page 3
© NEC Corporation 2014
本脆弱性の影響を受ける環境
▐ StrutsとAPサーバーとの組み合わせにて、本脆弱性の影響内容が異なります。
 WebOTX
製品、バージョンごとに影響の内容が異なります。詳細は下記サイトをご確認ください
。
参考:NECサポートポータル https://www.support.nec.co.jp/View.aspx?id=3010100868
 Oracle WebLogic Server
本脆弱性に対する影響がある旨が報告されています。
詳細はNEORC上で随時公開されますので、そちらをご確認ください。
参考:NEORC http://opendb.middle.nec.co.jp/oracle/
「Oracle Fusion Middleware 製品に対する Apache Struts 脆弱性の影響について」
 JBoss EAP
バージョンごとに影響の内容が異なります。詳細は下記サイトをご確認ください。
参考:RedHat社ホームページ https://access.redhat.com/site/ja/solutions/873033
 Tomcat
バージョン8.x にて発生することが確認されています。ほかのバージョンでも影響があ
る可能性があります。
Page 4
© NEC Corporation 2014