YAML の URI エスケープ処理におけるヒープオーバーフローについて (CVE-2014-2525)
Posted by hone and zzak on 29 Mar 2014
Translated by makimoto
Ruby の YAML データにおける URI エスケープ処理にオーバーフロー問題があります。 この脆弱性は CVE 識別番号 CVE-2014-2525 に割り当てられています。
詳細
タグ付き YAML の中で文字列がパースされる際に、特殊な文字列がヒープオーバーフローを引き起こし、任意のコードが実行される可能性があります。
例:
YAML.load <code_from_unknown_source>影響を受けるバージョン
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 のバージョンを確認できます:
$ ruby -rpsych -e 'p Psych.libyaml_version'
[0, 1, 5]解決方法
libyaml をシステムにインストールしているユーザは libyaml を 0.1.6 にアップデートすることが推奨されます。
Ruby を再コンパイルする際にアップデートした新しい libyaml を指定してください:
$ ./configure --with-yaml-dir=/path/to/libyamlシステムに libyaml がインストールされていないユーザは、Ruby 同梱の libyaml を使用しているので、 libyaml 0.1.6 を提供している psych 2.0.5 にアップデートすることが推奨されます:
$ gem install psychまた、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版
最近のニュース
Ruby 3.3.12 リリース
Ruby 3.3.12 がリリースされました。
Posted by hsbt on 16 Jul 2026
Ruby 3.4.10 リリース
Ruby 3.4.10 がリリースされました。
Posted by nagachika on 30 Jun 2026
Ruby 4.0.2 リリース
Ruby 4.0.2 がリリースされました。
Posted by k0kubun on 16 Mar 2026
Ruby 3.4.9 リリース
Ruby 3.4.9 がリリースされました。
Posted by nagachika on 11 Mar 2026