liftというweb frameworkのメーリングリストで「ちょっとセキュリティの問題見つかってリリースしたから、アップデートしてくれ」というのが2015/3/16 (月曜)頃に流れてくる
https://groups.google.com/d/topic/liftweb/NSXpg778Oos/discussion
↓
脆弱性の詳細はすぐには明かされなかった。つまり深刻なの?lift以外にも影響あるの?(それを匂わせるような書き方)
金曜くらいには発表するとある。わざとgithubにも該当のtagはpushされてないようだ
↓
つい先ほど「詳細マダー?」「DPPがblog書いたらしいよ」
http://blog.goodstuff.im/lift_xxe_vulnerability
↓
というわけで、詳細でました。XXEググると、日本語だと、(わりと古いけど)以下のblogが詳しくわかりやすかったです
おそらくloadStringだけじゃなく、loadとか似たようなメソッド全部ですね。
↓
で、play framework2だと2.2.0以降大丈夫っぽいですが、2.1.xは危ないかも?(以下のコミット参照)
https://github.com/playframework/playframework/commit/dc94b943ee5dc
https://github.com/playframework/playframework/commit/8564706a25036
脆弱性対策としては、DPPも言ってるように、上記のコミットのplayのコード真似しましょう。(でいいのかな?)
liftでの該当コミット
- https://github.com/lift/framework/commit/fb6acf61e4c15fea
- https://github.com/lift/framework/commit/10f13cb0979a4566
↓
で、その他は
↓
https://groups.google.com/d/topic/scalatra-user/HHT8j1HWha8/discussion せらさんが対応して、すぐに新しいversionでたようです
その他、独自にscala.xml.XMLの「loadほげほげメソッド」を(外部の信用出来ないかもしれない)箇所からxml読み込む方法として使用してる場合は、きちんと対策しましょう。
Scala標準ライブラリ側でも(別メソッド用意とかで?)対策するのだろうか
https://github.com/scala/scala-xml/issues/17
*1:あくまでも適当なので、あまり信用しないでください