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 4.0.0 リリース
Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。
Posted by naruse on 25 Dec 2025
サイトのアイデンティティの再設計
サイトの包括的なデザインのアップデートを発表できることを嬉しく思います。今回の更新ではTaeko Akatsukaさんにデザインを担当していただきました。
Posted by Hiroshi SHIBATA on 22 Dec 2025
Ruby 4.0.0 preview3 リリース
Ruby 4.0.0-preview3 が公開されました。
Posted by naruse on 18 Dec 2025
Ruby 4.0.0 preview2 リリース
Ruby 4.0.0-preview2 が公開されました。Ruby 4.0では、Unicodeバージョンの17.0.0へのアップデートなど様々な改善が行われています。
Posted by naruse on 17 Nov 2025