14

vcr gem を追加した後に rspec を実行すると、次のエラーが発生します。提案どおりに実行するだけでgem install psych -- --enable-bundled-libyamlは、問題は解決しません。私は rbenv と ruby​​-build を使用しており、ruby 2.1.1 を使用しています。これを修正するにはどうすればよいですか?

SafeYAML Warning
  ----------------

  You appear to have an outdated version of libyaml (0.1.4) installed on your system.

  Prior to 0.1.6, libyaml is vulnerable to a heap overflow exploit from malicious YAML payloads.

  For more info, see:
  https://www.ruby-lang.org/en/news/2014/03/29/heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525/

  The easiest thing to do right now is probably to update Psych to the latest version and enable
  the 'bundled-libyaml' option, which will install a vendored libyaml with the vulnerability patched:

  gem install psych -- --enable-bundled-libyaml
4

5 に答える 5

4

この返信https://stackoverflow.com/a/9510209/816002の指示に従ったところ、うまくいったようです。しかし、私はそれを少し違ったものにしました:

rvm pkg install libyaml
rvm get stable
rvm reinstall all --force

システム Ruby を使用している場合、これは役に立たないかもしれませんrbenv

于 2014-04-07T19:14:14.673 に答える
0

rvmの場合、これは私にとってはうまくいきました:

rvm pkg install libyaml
$LIBYAML_PATH will be the path where RVM installs the upated yaml
rvm get stable
rvm reinstall all --force --with-libyaml-dir=$LIBYAML_PATH

http://synaptian.com/2014/04/fixing-the-safeyaml-warning-on-ubuntu-12-04-with-rvm/

于 2015-10-15T11:33:08.600 に答える
0

Mac OS X / Mavericks を使用している場合は、システムにインストールされた Ruby で実行している可能性があります。Thoughtbot は、これを行わないことをお勧めします。私もこの問題を抱えていたので、彼らのアドバイスに従ってインストールbrewrbenvたところ、問題は解決しました。

于 2014-04-20T04:00:49.503 に答える