Skip to main content

Rubyのrest-clientライブラリにコード実行型バックドアが発見される

著者
Headshot of Hayley Denbraver

Hayley Denbraver

backdoor discovered in Gem

2019年8月21日

0 分で読めます

2019年8月19日、Ruby向けのシンプルなHTTP/RESTクライアントである[rest-client](https://snyk.io/vuln/rubygems:rest-client)で、新たなセキュリティ上の脅威が報告されました。メンテナーのRubyGemアカウントが侵害され、悪意のある第三者によってコード実行型のバックドアが仕込まれました。このエクスプロイトの影響を受けるのは、1.6.10より新しく、1.7.0.rc1より古いバージョンです。

何が起きたのか

GitHubユーザーの[juskoljo](https://github.com/juskoljo)は、8月19日にrest-clientのリポジトリで問題を報告しました。このユーザーはパッケージの各バージョンの差分を調べ、1.6.10から1.7.0.rc1までのバージョンがpastebin.comでホストされたリモートコードを実行し、悪意のあるサイトに情報を送信することを発見しました。このエクスプロイトによって、攻撃者は感染したホストのURLや環境変数などの機密情報を取得できました。

GitHubの問題のスレッドは一読の価値があります。オープンソースのセキュリティ問題がどのように対処されたかを知ることができます。最初のコメントではCVEが申請されたこと、2つ目のコメントでは改ざんされたバージョンが削除され、侵害されたメンテナーのアカウントがロックされたことが述べられています。さらにスレッドの後半では、RubyGemアカウントで二要素認証を使うことの是非が議論されています。

侵害されたバージョンはかなり古いものである点に注意が必要です。rest-clientは現在2.x.x系のため、エクスプロイトの対象バージョンはメジャーアップデートを一つ経ています。しかし、コードを保守する現実を考えると、このエクスプロイトの影響を受けるプロジェクトは数多く存在すると考えられます。

今すぐ何をすべきか

感染したバージョンを使用している場合は、できるだけ早くアップグレードしてください。バージョン1.7.0.rc1には修正が含まれています。Snykを使えば、脆弱なバージョンを使用しているかどうかを確認できます。

CLIをお使いの場合は、プロジェクトのディレクトリで$ snyk testを実行してください。依存関係に含まれる脆弱性がすべて表示され、rest-client.の脆弱性も確認できます。

使いやすいUIからプロジェクトをテストすることもできます。今すぐお試しください。

今回のエクスプロイトを教訓に、二要素認証が利用できるアカウントでは必ず有効にすることをお勧めします。

何を学べるか

この脆弱性は、パッケージマネージャーのアカウントで二要素認証を有効にすることの重要性を示しています。セキュリティを重視するメンテナーは、プッシュ権限を持つユーザーに二要素認証を必須にすることも検討すべきです。

また、この脆弱性は、依存関係を比較的新しいリリースに保つことが重要である理由も示しています。自動更新にも問題はありますが、攻撃者は古いリリースを狙うことで、いわば「目立たずに」攻撃しようとしていたことは明らかです。

今回の出来事から得られる最後の教訓は、この種の問題に迅速に対処することです。影響を受けるユーザーの数は多くないかもしれませんが、そのユーザーに及ぶ影響は非常に大きくなる可能性があります。影響を受けるユーザーができるだけ早く対処できるよう、広く知らせることが重要です。

この記事が注意喚起の一助となれば幸いです。使用しているrest-clientのバージョンが感染しているか心配な方は、今すぐSnykをお試しください。Snykでテストすると、プロジェクトに感染したバージョンのrest-clientが含まれているかどうかを確認できるほか、依存関係に存在するその他の既知の脆弱性も把握できます。

人気のオープンソースリポジトリで悪意のあるパッケージが見つかるケースは、ますます増えています。悪意のある可能性があるパッケージを発見した場合は、オープンソースパッケージの開示ポリシーに従ってSnykにご報告ください。https://snyk.io/vulnerability-disclosure/

Capture the Flagを始めよう

オンデマンドのバーチャル入門ワークショップを見て、Capture the Flagの課題の解き方を学びましょう。

カテゴリー:

続きを読む

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSecのご紹介:AI開発のスピードに対応するセキュリティ

AI駆動型開発のスピードに、従来のセキュリティワークフローは追いついていません。SnykのAgentic AppSecは、セキュリティエージェントが脆弱性を継続的に検出、修正、検証し、人が基準を定められるようにします。

Blog

フロンティアモデルは脆弱性を発見した。攻撃者だけがエクスプロイトチェーンを見つけた。

静的解析で欠陥は見つかりましたが、ライブ攻撃テストで侵害につながる連鎖を実証できたのは唯一でした。Evo COS、Claude Security、Claude Code Securityを比較します。

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。