関連記事
キャラクター倒すとリモートコード実行が可能になるSource Engineの脆弱性
ゲーム内キャラクターを倒すことでリモートからのコード実行が可能となるValveのSource SDKの脆弱性について、発見したOne Up Securityが解説している(One Up Securityの記事、The Vergeの記事)。
脆弱性が存在するのは倒されたキャラクターに適用されるラグドールモデルの処理に関する部分だ。Source Engineではマップファイルにカスタムコンテンツを格納することでユーザーがマップにコンテンツを追加できる。ラグドールモデルファイルをオリジナルと同じリソースパスでマップファイルに格納すれば、オリジナルを置き換えることが可能となる。
ラグドールモデルのルールはトークン化して読み込まれるが、トークン化の際に適切な境界チェックが行われない。そのため、特別に細工したラグドールデータを読み込ませるとバッファーサイズを超えるトークンが生成され、バッファーオーバーフローが発生する。さらにsteamclient.dllではASLRが有効になっていないため、メモリーアドレスは予測可能だという。PoCは30日以内の公開が予告されており、Shell32.dllを読み込ませてcmd.exeを実行するものとのこと。
報告を受けたValveでは、Counter Strike: Global OffensiveやTeam Fortress 2、Half-Life 2: Deathmatch、Portal 2、Left 4 Dead 2などの修正を行い、パッチの提供を6月に開始している。
スラドのコメントを読む | セキュリティセクション | セキュリティ | バグ | ゲーム
関連ストーリー:
Xbox Oneでアニメ「マイリトルポニー」のエピソードに言及した奇妙なエラーが表示されるトラブル 2017年07月22日
自己防御機能の強いセキュリティソフトは? 2017年05月07日
PS4にゴキブリが住み着きやすい理由 2017年04月21日
※この記事はスラドから提供を受けて配信しています。
スポンサードリンク
関連キーワード