Spotify Backstage 開発ポータル ビルダーの古いバージョンは、重大な (CVSS スコア: 9.8) 未認証のリモート コード実行の脆弱性に対して脆弱であり、公開されているシステムで攻撃者がコマンドを実行できる可能性があります。

この問題は、Oxeye の研究者が先月レポートで明らかにした vm2 サンドボックス エスケープの問題にあり、特定の JavaScript サンドボックス ライブラリの広範な展開について警告しています。

Backstage は vm2 ライブラリを使用しているため、サプライ チェーンを介して脆弱性の影響を受けました。

Oxeye は Backstage で影響を確認し、2022 年 8 月 18 日に Spotify に警告しました。その後、ベンダーは 2022 年 8 月 29 日にリリースされたアップデート (v 1.5.1) を通じて対処しました。

Oxeye チームは、サンドボックス エスケープとコード実行のために Backstage の Scaffolder プラグインを攻撃する有効なペイロードを開発し、ローカル展開で試しました。

関数に挿入されたペイロード
呼び出された関数に挿入されたペイロード(Oxeye)

悪意のあるコードは、前述のプラグインのレンダリング エンジンの変更された機能に挿入され、仮想マシンのコンテキストで実行され、未定義の機能を呼び出すエラーによってトリガーされました。

ペイロードは、サンドボックスの外部に CallSite オブジェクトを作成し、攻撃者がホスト システムで任意のコマンドを実行できるようにします。

脆弱性の影響と緩和

Oxeye が Shodan をスキャンした結果、インターネット上で公開されている 546 の Backstage インスタンスが悪用される可能性があり、そのほとんどが米国に拠点を置くものであることが明らかになりました。

この数は多くありませんが、Backstage は Spotify、Netflix、Epic Games、Jaguar/Land Rover、Mercedes Benz、American Airlines、Splunk、TUI、Oriflame、Twilio、SoundCloud、HBO Max、HP Inc など、 多くの大企業で使用されています。 、Siemens、VMware、および IKEA。

このため、脆弱なインスタンスが 1 つでもあるだけで、有名な企業で重大な侵害が発生する可能性があります。

さらに悪いことに、Backstage API はデフォルトで認証なしで使用できます。インスタンスがネットワーク フィルタリング ルールまたは ID 管理によってブロックされていない限り、任意のリモート ユーザーがインスタンスにアクセスできます。

これは、ゲスト ユーザーが資格情報を必要とせずに、インターネットに公開されたインスタンスを攻撃する可能性があることを意味します。

「インターネットに公開されたいくつかのインスタンスのバックエンド API サーバーにリクエストを直接送信しようとしたところ、認証や承認の形式を必要としない少数のインスタンスが見つかりました」と Oxeye の研究者はレポートで警告しています。

「したがって、多くの場合、認証なしで脆弱性が悪用される可能性があると結論付けました。」

バックステージ攻撃のフロー図
バックステージ攻撃フロー図(Oxeye)

現在、1.5.1 より前のバージョンの Backstage を実行しているインスタンスの数は不明です。

すべてのシステム管理者は、先週リリースされた最新リリースの Backstage バージョン 1.7.2 にアップグレードすることをお勧めします。

Oxeye はまた、アプリでテンプレート エンジンを使用する場合は、サーバー側のテンプレート インジェクションや JavaScript 実行のリスクをもたらさない、 Mustacheのような「ロジックのない」エンジンに選択肢を限定することを推奨しています。

最後に、バックステージ API への不正アクセスを防ぐために、フロントエンド認証とバックエンド認証の両方を有効にするように研究者は警告しています。