這與最近的libyaml漏洞(CVE-2014-2525)有關。在Ubuntu上更新Ruby的libyaml
我將Gemfile
中的psych更新爲2.0.5,但在我的服務器上,libyaml版本仍然是0.1.4而不是0.1.6。
看起來像使用最新的心靈寶石不會更新Ruby使用的libyaml版本。
2.0.0p353 :001 > Psych.libyaml_version
=> [0, 1, 4]
顯然libyaml指向系統上安裝的那個。注意如何libyaml-0.so.2
點/usr/lib/x86_64-linux-gnu/libyaml-0.so.2
:
[email protected]:~$ find $MY_RUBY_HOME -name psych.so | xargs ldd
linux-vdso.so.1 => (0x00007fff22fff000)
libruby.so.2.0 => /home/ubuntu/.rvm/rubies/ruby-2.0.0-p353/lib/libruby.so.2.0 (0x00007fc91a537000)
libyaml-0.so.2 => /usr/lib/x86_64-linux-gnu/libyaml-0.so.2 (0x00007fc91a30e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc919f4d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc919d30000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc919b28000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc919923000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fc9196ea000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc9193ee000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc91abbf000)
/usr/lib/x86_64-linux-gnu/libyaml-0.so.2
由libyaml-0-2
軟件包安裝,如下所示:
[email protected]:~$ dpkg -S /usr/lib/x86_64-linux-gnu/libyaml-0.so.2
libyaml-0-2: /usr/lib/x86_64-linux-gnu/libyaml-0.so.2
如果我正確地理解,這意味着紅寶石動態鏈接libyaml到一個由APT安裝。
Ubuntu已發佈a patch修復了漏洞並且已經安裝了修補程序。雖然libyaml的版本仍然是0.1.4。
基於此,該漏洞似乎已經在我的服務器上得到修復。我對嗎?有什麼方法可以測試該漏洞是否已被修復?