GitHubのページ
出典: GitHub

『Civilization 7』のチャット機能が改造の入口に

『Civilization 7』の初代Nintendo Switch向けゲームカードに含まれる脆弱性が、Switch 2の改造に使われています。出版社の2Kが拡散を防ぐため、物理版を回収し始めたと報じられています。

対象は、初代Switch版のうち修正されていないゲームカード版です。Switch 2に接続したUSB機器からゲーム内チャットへコードを入力し、コンソール上で実行させる仕組みが利用されています。

この手法は「CivSwitch」と呼ばれ、ハッカー兼モッダーのGezineが作成しました。現時点で利用できる機能には、セーブデータへのアクセス、ゲームの改造、非公式アプリの実行などがあります。

CivSwitchは物理カード版のバージョン1.0.0が対象

CivSwitchは、初代Switch版『Civilization 7』の物理カードにあるクロスサイトスクリプティング(XSS)を利用するツール群です。対応するのはゲームのバージョン1.0.0に限られます。

USBキーボードとして動作する小型機器からチャット欄へ入力を送り、ゲーム内チャットを介して読み込み機能を起動した後、追加のJavaScriptを送る方式です。

セーブデータに起動用のトリガーを書き込み、ゲームのロード時に処理を実行する機能も含まれます。公開リポジトリでは、Switch 1とSwitch 2の複数のファームウェアで動作を確認しています。

回収の報告と販売状況

2Kによる物理版の回収が始まったと報じられ、購入者の一部は注文がキャンセルされたと投稿しています。Amazonから届いたとされる案内には、2Kの指示による「技術的・セキュリティ上の要件」が理由として記されていました。

一部の購入者には、ゲームコードを同梱した版への変更が提示されたとの報告もあります。脆弱性は物理カード版にあるため、デジタル版ではこの手法を使えません。

Switch 2の互換性が旧カード版にも及ぶ

Switch 2は初代Switchのゲームカードに対応しています。任天堂は、初代Switchのソフトを新型機でも遊べるとし、物理カードも対象になることを明らかにしました。

ただし、初代SwitchのすべてのゲームがSwitch 2で動作するとは限らず、一部は非対応または完全には互換性がない場合があります。『Civilization 7』のカード版は、初代Switch向けソフトをSwitch 2で動かせる互換性を通じて、新型機上で利用されています。

任天堂の開発者は、Switch 2に初代Switchのハードウェアを内蔵する方式ではなく、新しい技術で旧ソフトを動かす設計を説明しています。ゲームデータを読み込む際にリアルタイムで変換する方式で、ソフトウェアエミュレーターとハードウェア互換の中間にあたります。

任天堂は、発売前に1万本を超える初代Switch用ゲームを個別に確認していたとしています。