yum updateしたらtwitteroauthがエラーになる
CentOSでtwitteroauthを利用してる方は注意が必要かも。
これを書いてる時点で最新?のnss (3.16.1-7.el6_5)にアップデートすると、twitteroauthがエラーになります。
twitteroauthに限った話しじゃ無いと思いますが、調べてないのでとりあえず。
経緯
TwitterからAPIで検索するという処理が突然死んでて、原因調査してました。
Twitterの仕様変更か?とか最近話題になったTwiccaが弾かれるなど、色々想像しましたが、
実際にエラーメッセージを取得して見ると全然関係ないエラーが出てました
Problem with the SSL CA cert (path? access rights?)
調べてみるとnssってのが原因らしい。
TwitterのOAuthが動かなくなった件。curl_error()でキャッチすると Problem with the SSL CA cert (path? ...) と出る。これはTwitterの仕様変更ではなく、サーバのnss更新が原因。証明書を更新すると解決する。
— =^_^= まぉー (@iso800cc) 2014, 9月 27
ことの始まりはBashの脆弱性です。
先週末にパッチが公開されてアップデートして安心!!って思ってたんですが、どうもまだ脆弱性が残ってたらしく、再びパッチが出てました。
そんでもっていつもどおり気にせず
# yum update
と、やっていました。
NSSの脆弱性
このアップデートを実行した時に実は別にNSS脆弱性に関するパッチも公開されており、それも一緒にアップデートしたのが原因でした。
cURLを実行するときにCentOSではOpenSSLの代わりにnssを使っているようで、そのせいでアップデートするとエラーになったのでした。
ただ修正方法が分からず、結局このへんを見てyumでアンドゥしました。
しかしこれだと公開済みの脆弱性を思いっきり放置してる状態なので大変危険です。
対策方法がわかったら追記します。
追記(2014/09/29 17:52):
とてつもなくあっけないオチですが、アパッチをリスタートしたら大丈夫でした。
一応手順としては
$ sudo yum update
を実行したあと
$ sudo service httpd restart
これだけで正常に動きました。ハイ。
ただ、AWSでエラーが出た状態と同じインスタンスを立ち上げてみたら同じ現象は再現出来ませんでした。
俺の3時間は一体何だったのか・・・。