Travis CI の脆弱性により膨大なオープンソース・プロジェクトから秘密が漏れる

Travis CI Flaw Exposes Secrets of Thousands of Open Source Projects

2021/09/16 TheHackerNews — 継続的インテグレーション・ベンダーである Travis CI は、API keys/Access Tokens/Credentials が流出するという、深刻なセキュリティ上の欠陥を修正した。それに伴い、公開されたソースコード・リポジトリを使用する組織には、攻撃を受ける可能性が生じる。

この脆弱性 CVE-2021-41077 は、ソフトウェアのビルド・プロセスにおいて、公開されているオープンソース・プロジェクトに関連する、秘密の環境データへの不正なアクセスと窃取に関するものだ。そして、問題が、9月3日〜9月10日までの8日間に渡って発生したと言われている。

9月7日に Ethereum の Felix Lange が、この問題を発見したとされているが、同社のPéter Szilágyi は「誰もが、これらを流出させ、1000 もの組織に横入りすることができる」と指摘している。Travis CI は、ホスト型 CI/CD (Continuous Integration and Continuous Deployment) ソリューションであり、GitHub や Bitbucket などのソースコード・リポジトリ・システムにホストされた、ソフトウェア・プロジェクトの構築とテストに使用されている。

この脆弱性について、彼らは、「望ましい動作は、Travis サービスが、署名キー/アクセス認証/API トークンなどの、顧客固有の秘密環境データへの一般からのアクセスを防ぐ方法で、ビルドを実行することだ。しかし、記載された8日間において、公開リポジトリをフォークして、ビルド・プロセス中のファイルを印刷した不正な行為者に、秘密データが公開される可能性がある」と説明している。

言い換えると、別のリポジトリからフォークされたパブリック・リポジトリは、オリジナルのアップストリーム・リポジトリに設定された、秘密の環境変数を取得できるプルリクエストを送信できる。 Travis CI は自社のドキュメントにおいて、「暗号化された環境変数は、フォークから のプル・リクエストには対応しない。なぜなら、そのような情報を、未知のコードに対して公開するという、セキュリティ・リスクがあるからだ」と述べている。

その一方で、外部からのプル・リクエストに起因する暴露のリスクは認めている。同社は、「上流のリポジトリのフォークから送られたプルリクエストは、環境変数を公開するように操作される可能性がある。GitHub でリポジトリをフォークした人なら、誰でもプル・リクエストを送れるため、アップストリーム・リポジトリのメンテナは、この攻撃に対して何の防御もできない」と述べている。

Szilágyi は、Travis CI が事件を軽視し、問題の重大性を認めなかったことを非難し、また、GitHub に対しては、セキュリティ態勢や脆弱性の開示プロセスが不十分であることを理由とし、同社を追放するよう求めた。Szilágyi は、「複数のプロジェクトからの、3日間にわたるプレッシャーを受けた後に、9月10日になって Travis CI は秘密裏に、この問題にパッチを当てた。分析も行わず、セキュリティ・レポートも提供せず、秘密が盗まれたかもしれないユーザーに警告することもなかった」とツイートしている。

ベルリンに本社を置く、この DevOps プラットフォーム企業は、9月13日に簡潔な「セキュリティ速報」を発表し、ユーザーに対しては、定期的にキーをローテーションするよう勧告した。続いて、コミュニティ・フォーラムで2回目の通知を行い、バグが悪意の第三者に利用された証拠は見つかっていないと述べた。

Szilágyi は、「Travis CI が、この事態に対して、きわめて無責任な対応をしたこと、そして、その後、秘密が漏れる可能性があるユーザーへの警告を拒否したことから、直ちに、そして無期限に、Travis から離れることを皆さんに推奨する」と付け加えている。

先日に、「サプライチェーン攻撃:オープンソース・エコシステム標的が 650% UP という調査結果」をポストしましたが、こちらもパブリック・リポジトリを狙った、ソフトウェア・サプライチェーン攻撃のことを解説しています。SolaWinds や Kaseya のインシデントも、このリポジトリが関連しているようです。CVE-2021-41077 自体は、Vuldb に掲載されていますが (現時点で NVD はエントリのみ)、CVSS は 2.6 なので、なにか、別の視点があるのだと思います。

%d bloggers like this: