Posted by hone and zzak on 29 Mar 2014
Translated by makimoto
Ruby の YAML データにおける URI エスケープ処理にオーバーフロー問題があります。 この脆弱性は CVE 識別番号 CVE-2014-2525 に割り当てられています。
詳細
タグ付き YAML の中で文字列がパースされる際に、特殊な文字列がヒープオーバーフローを引き起こし、任意のコードが実行される可能性があります。
例:
影響を受けるバージョン
Ruby 1.9.3-p0 以上にはデフォルトの YAML パーサとして psych が含まれています。 0.1.5 以下のバージョンの libyaml にリンクされているすべてのバージョンの psych が影響を受けます。
また、以下の Ruby にはこの問題のあるバージョンの libyaml が同梱されています。
- Ruby 2.0.0-p451 以前の Ruby 2.0.0
- Ruby 2.1.1 以前の Ruby 2.1
以下の方法で実行時に使用される libyaml のバージョンを確認できます:
解決方法
libyaml をシステムにインストールしているユーザは libyaml を 0.1.6
にアップデートすることが推奨されます。
Ruby を再コンパイルする際にアップデートした新しい libyaml を指定してください:
システムに libyaml がインストールされていないユーザは、Ruby 同梱の libyaml を使用しているので、 libyaml 0.1.6
を提供している psych 2.0.5
にアップデートすることが推奨されます:
また、Ruby を 2.0.0-p481、Ruby 2.1.2 またはより新しいバージョンにアップデートすることでも、同梱の libyaml が更新されます。
更新履歴
- 2014-03-29 10:49:25(JST) 初版
- 2014-03-29 18:45:00(JST) 2版
- 2014-05-09 12:00:00(JST) 3版